{"version":3,"file":"src_app_admin_accounts_accounts_module_ts.dbc1cdb5346c5f20.js","mappings":"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","sources":["./src/app/admin/accounts/accounts.module.ts","./src/app/admin/accounts/archived/archived.component.ts","./src/app/admin/accounts/archived/archived.component.html","./src/app/admin/accounts/discounts/discounts.component.ts","./src/app/admin/accounts/discounts/discounts.component.html","./src/app/admin/accounts/funds/funds.component.ts","./src/app/admin/accounts/funds/funds.component.html","./src/app/admin/accounts/manualpost/manualpost.component.ts","./src/app/admin/accounts/manualpost/manualpost.component.html","./src/app/admin/accounts/overdrawn/overdrawn.component.ts","./src/app/admin/accounts/overdrawn/overdrawn.component.html","./src/app/admin/accounts/parents/addstudent-dialog/addstudent-dialog.component.ts","./src/app/admin/accounts/parents/addstudent-dialog/addstudent-dialog.component.html","./src/app/admin/accounts/parents/parent-dialog/parent-dialog.component.ts","./src/app/admin/accounts/parents/parent-dialog/parent-dialog.component.html","./src/app/admin/accounts/parents/parents.component.ts","./src/app/admin/accounts/parents/parents.component.html","./src/app/admin/accounts/sendalert-dialog/sendalert-dialog.component.ts","./src/app/admin/accounts/sendalert-dialog/sendalert-dialog.component.html","./src/app/admin/accounts/teachers/teacher-dialog/teacher-dialog.component.ts","./src/app/admin/accounts/teachers/teacher-dialog/teacher-dialog.component.html","./src/app/admin/accounts/teachers/teachers.component.ts","./src/app/admin/accounts/teachers/teachers.component.html"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router'; \r\nimport { SharedModule } from '../../shared/shared.module'; \r\n import {NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input'\r\n\r\n\r\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { ParentsComponent } from './parents/parents.component';\r\nimport { TeachersComponent } from './teachers/teachers.component';\r\nimport { ParentDialogComponent } from './parents/parent-dialog/parent-dialog.component';\r\nimport { TeacherDialogComponent } from './teachers/teacher-dialog/teacher-dialog.component';\r\nimport { AddstudentDialogComponent } from './parents/addstudent-dialog/addstudent-dialog.component';\r\nimport { DiscountsComponent } from './discounts/discounts.component';\r\nimport { FundsComponent } from './funds/funds.component';\r\nimport { AuthGuard } from 'src/app/theme/utils/auth.guard';\r\nimport { SendalertDialogComponent } from './sendalert-dialog/sendalert-dialog.component';\r\nimport { OverdrawnComponent } from './overdrawn/overdrawn.component';\r\nimport { ArchivedComponent } from './archived/archived.component';\nimport { ManualpostComponent } from './manualpost/manualpost.component';\r\n\r\n\r\nexport const routes: Routes = [ \r\n { path: '', redirectTo: 'parents', pathMatch: 'full'},\r\n { path: 'parents', component: ParentsComponent, data: { breadcrumb: 'Parents',canActivate: [AuthGuard] } },\r\n { path: 'teachers', component: TeachersComponent, data: { breadcrumb: 'Teachers',canActivate: [AuthGuard] } },\r\n { path: 'balances', component: OverdrawnComponent, data: { breadcrumb: 'Accounts Balances',canActivate: [AuthGuard] } },\r\n { path: 'archived', component: ArchivedComponent, data: { breadcrumb: 'Archived Accounts',canActivate: [AuthGuard] } },\r\n \r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n ParentsComponent,\r\n TeachersComponent,\r\n ParentDialogComponent,\r\n TeacherDialogComponent,\r\n AddstudentDialogComponent,\r\n DiscountsComponent,\r\n FundsComponent,\r\n SendalertDialogComponent,\r\n OverdrawnComponent,\r\n ArchivedComponent,\r\n ManualpostComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n RouterModule.forChild(routes), \r\n SharedModule,\r\n NgxMatIntlTelInputComponent \r\n ],\r\n providers:[\r\n {provide: MAT_DATE_LOCALE, useValue: 'en-GB'},\r\n \r\n ]\r\n})\r\nexport class AccountsModule { }\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { AppService } from \"src/app/app.service\";\nimport { EncryptDecrypt } from \"src/app/theme/directives/encrypt_decrypt\";\nimport { DiscountsComponent } from \"../discounts/discounts.component\";\nimport { FundsComponent } from \"../funds/funds.component\";\n\nimport { exportDataGrid } from \"devextreme/excel_exporter\";\nimport { Workbook } from \"exceljs\";\nimport { saveAs } from \"file-saver\";\nimport { SendalertDialogComponent } from \"../sendalert-dialog/sendalert-dialog.component\";\nimport { DxDataGridComponent } from \"devextreme-angular\";\nimport * as moment from \"moment\";\n\n@Component({\n selector: 'app-archived',\n templateUrl: './archived.component.html',\n styleUrls: ['./archived.component.scss']\n})\nexport class ArchivedComponent implements OnInit {\n\n @ViewChild('grid', { static: false }) dataGrid!: DxDataGridComponent;\n dataSource: any = [];\n \n loading = false;\n selectedCategoryId = 0;\n public DateFrom = new Date();\n \n constructor(\n public appService: AppService,\n public snackBar: MatSnackBar,\n private encrypt: EncryptDecrypt\n ) {\n const today = moment().toDate().toLocaleString('en-US', { timeZone: this.appService.timeZone });\n this.DateFrom = new Date(today);\n }\n \n \n ngOnInit(): void {\n this.listArchivedAccounts();\n }\n \n \n \n \n listArchivedAccounts() {\n this.loading = true;\n \n const req ={\n DateFrom: moment(this.DateFrom).format(\"DD-MMM-YYYY\")\n }\n \n this.appService.ArchivedAccountBalancesList(req).subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.dataSource = body;\n \n this.loading = false;\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n },\n });\n }\n \n \n \n onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet(\"Employees\");\n \n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(\n new Blob([buffer], { type: \"application/octet-stream\" }),\n \"Report.xlsx\"\n );\n });\n });\n e.cancel = true;\n }\n public openDialogAlert(data: any | null) {\n const dialogRef = this.appService.openDialog(\n SendalertDialogComponent,\n data,\n \"theme-dialog\"\n );\n dialogRef.afterClosed().subscribe((dat) => {\n this.dataGrid.instance.deselectAll();\n });\n }\n \n \n \n unarchiveAccount(data: any, $event: any) {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n \n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n const message = this.appService.getTranslateValue('MESSAGE.SURE_UNARCHIVE');\n let dialogRef = this.appService.openConfirmDialog('', message!);\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n const req = {\n AccountId: data.data.AccountId,\n CategoryId: data.data.Category==='Parent'? 1: 2,\n DoneBy: username\n }\n console.log(req);\n \n this.loading = true;\n this.appService.UndoArchiveAccount(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n \n this.snackBar.open('Account unarchived successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.listArchivedAccounts();\n } else {\n \n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n \n },\n error: (e) => {\n this.loading = false;\n \n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n }\n });\n \n \n }\n \n \n \n }\n "," \n\n \n<div fxLayout=\"row wrap\">\n\n \n <mat-divider></mat-divider>\n\n\n <dx-data-grid #grid id=\"gridContainer\" [dataSource]=\"dataSource\" [rowAlternationEnabled]=\"true\"\n [showBorders]=\"true\" [showRowLines]=\"true\" [columnHidingEnabled]=\"true\" width=\"100%\"\n (onExporting)=\"onExporting($event)\">\n <dxo-paging [pageSize]=\"5\"></dxo-paging>\n <dxo-pager [visible]=\"true\" [allowedPageSizes]=\"[5, 10,20,50, 'all']\" [displayMode]=\"'full'\"\n [showPageSizeSelector]=\"true\" [showInfo]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\n <dxo-scrolling columnRenderingMode=\"virtual\"></dxo-scrolling>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-selection selectAllMode=\"allPages\" showCheckBoxesMode=\"always\" mode=\"multiple\"></dxo-selection>\n <dxo-search-panel [visible]=\"true\" [width]=\"300\" placeholder=\"Search...\"></dxo-search-panel>\n\n <dxo-export [enabled]=\"true\" [formats]=\"['Excel']\" [allowExportSelectedData]=\"true\"></dxo-export>\n <dxi-column dataField=\"AccountId\" caption=\"AccountId\" width=\"70\"></dxi-column>\n <dxi-column dataField=\"FullName\" caption=\"Names\"></dxi-column>\n <dxi-column dataField=\"Category\" caption=\"Category\" width=\"200\"></dxi-column>\n <dxi-column dataField=\"Balance\" caption=\"AccountBalance\" width=\"200\">\n <dxo-format type=\"fixedPoint\" [precision]=\"2\">\n </dxo-format>\n </dxi-column>\n <dxi-column caption=\"\" [width]=\"50\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"actions\"\n [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'actions'\">\n \n <button class=\"gridbutton\" (click)=\"unarchiveAccount(data,$event)\" matTooltip=\"Unarchive Account\">\n <mat-icon color=\"primary\">unarchive</mat-icon>\n </button>\n </div>\n </dx-data-grid>\n\n \n\n</div>\n\n<div class=\"overlay\" *ngIf=\"loading\">\n <div class=\"center\">\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\n </div>\n\n</div>\n","import { Category } from './../../../app.models';\nimport { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\n\n\n@Component({\n selector: 'app-discounts',\n templateUrl: './discounts.component.html',\n styleUrls: ['./discounts.component.scss']\n})\nexport class DiscountsComponent implements OnInit {\n dataSource: any=[];\n loading = false;\n selectedDiscount: string = '';\n Names = \"\";\n discounts: any = [];\n public form!: UntypedFormGroup;\n constructor(\n public dialogRef: MatDialogRef<DiscountsComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any, public appService: AppService,\n public fb: UntypedFormBuilder, public snackBar: MatSnackBar, private encrypt: EncryptDecrypt,\n ) {\n\n\n }\n ngOnInit(): void {\n\n this.loadDiscounts();\n if (this.data) {\n this.loadMemberDiscounts();\n }\n this.Names= this.data.Names;\n }\n loadDiscounts() {\n this.loading = true;\n this.appService.ShowDiscountsByCategory(this.data.CategoryId)\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.discounts = body;\n this.loading = false;\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n })\n }\n loadMemberDiscounts() {\n const req ={\n CategoryId:this.data.CategoryId,\n MemberId: this.data.Id\n }\n this.appService.DiscountMember(req)\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.dataSource = body;\n this.loading = false;\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n })\n\n\n }\n DiscountSelected(value: any) {\n \n this.loading = true;\n this.selectedDiscount = value;\n \n }\n addParticipant(){\n let Req: any = [];\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n \n const body = {\n MemberId:this.data.Id,\n DiscountId: this.selectedDiscount,\n DoneBy: username\n }\n\n Req.push(body);\n \n\n this.loading=true;\n\n this.appService.DiscountMembers(Req)\n .subscribe({\n next: (data) => {\n if (data === \"\") {\n\n this.snackBar.open('Discount saved successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.loadMemberDiscounts();\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n\n \n this.loading = false;\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n })\n\n\n\n }\n\n deleteMember(data: any, $event: any) {\n\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n\n const req = {\n Id: data.data.Id,\n DoneBy: username\n }\n\n const message = this.appService.getTranslateValue('MESSAGE.SURE_DELETE');\n let dialogRef = this.appService.openConfirmDialog('', message!);\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n\n this.appService.DeleteMembers(req)\n .subscribe({\n next: (data) => {\n if (data === \"\") {\n\n this.snackBar.open('Discount removed successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.loadMemberDiscounts();\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n\n },\n complete: () => {\n\n }\n })\n\n }\n });\n\n }\n}\n","<div class=\"header bg-primary\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n <h2 class=\"fw-500 secondary-font\">Manage Discounts: {{Names}}</h2>\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\n </div>\n</div>\n\n<div fxLayout=\"row wrap\" class=\"mt-2\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"25\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Category</mat-label>\n\n <mat-select \n (selectionChange)=\"DiscountSelected($event.value)\">\n <mat-option *ngFor=\"let type of discounts\" [value]=\"type.value\">\n <span>{{type.label}}</span>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n</div>\n<div fxLayout=\"row wrap\" class=\"mt-2\" style=\"margin-bottom: 15px;\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"25\" class=\"px-3 text-right\">\n \n <button mat-raised-button color=\"primary\" type=\"button\" class=\"uppercase\" (click)=\"addParticipant()\">SUBMIT</button>\n \n </div>\n</div>\n<mat-divider></mat-divider>\n<div fxLayout=\"row wrap\" class=\"px-3\">\n <dx-data-grid id=\"gridContainer\" [dataSource]=\"dataSource\" [rowAlternationEnabled]=\"true\"\n [showBorders]=\"true\" [showRowLines]=\"true\" [columnHidingEnabled]=\"true\" width=\"100%\">\n <dxo-paging [pageSize]=\"5\"></dxo-paging>\n <dxo-pager [visible]=\"true\" [allowedPageSizes]=\"[5, 10,20,50, 'all']\" [displayMode]=\"'full'\"\n [showPageSizeSelector]=\"true\" [showInfo]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\n <dxo-scrolling columnRenderingMode=\"virtual\"></dxo-scrolling>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-export [enabled]=\"true\" [formats]=\"['pdf']\" [allowExportSelectedData]=\"true\"></dxo-export>\n <dxi-column dataField=\"Id\" caption=\"Id\" width=\"70\"></dxi-column>\n <dxi-column dataField=\"Names\" caption=\"Names\" width=\"250\"></dxi-column>\n <dxi-column dataField=\"Description\" caption=\"Description\"></dxi-column>\n <dxi-column dataField=\"DiscountType\" caption=\"DiscountType\" width=\"120\"></dxi-column>\n <dxi-column dataField=\"Amount\" caption=\"Amount\" width=\"100\"></dxi-column>\n <dxi-column dataField=\"DateCreated\" caption=\"DateCreated\" width=\"100\"></dxi-column>\n <dxi-column dataField=\"CreatedBy\" caption=\"DoneBy\" width=\"150\"></dxi-column>\n <dxi-column caption=\"\" [width]=\"40\" [allowFiltering]=\"false\" [allowSorting]=\"false\"\n cellTemplate=\"actions\" [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'actions'\">\n\n <button class=\"gridbutton\" type=\"button\" (click)=\"deleteMember(data,$event)\">\n <mat-icon color=\"warn\">delete</mat-icon>\n </button>\n </div>\n </dx-data-grid>\n</div>","import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { exportDataGrid } from 'devextreme/excel_exporter';\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport * as moment from 'moment';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\nimport { emailValidator } from 'src/app/theme/utils/app-validators';\n\n@Component({\n selector: 'app-funds',\n templateUrl: './funds.component.html',\n styleUrls: ['./funds.component.scss']\n})\nexport class FundsComponent implements OnInit {\n public today = new Date();\n public DateFrom = new Date();\n public DateTo = new Date();\n public Names = \"\";\n dataSource: any = [];\n References: any = [];\n loading = false;\n public form!: UntypedFormGroup;\n constructor(\n public dialogRef: MatDialogRef<FundsComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any, public appService: AppService,\n public fb: UntypedFormBuilder, public snackBar: MatSnackBar, private encrypt: EncryptDecrypt,\n ) {\n\n }\n\n ngOnInit(): void {\n\n const today = moment().toDate().toLocaleString('en-US', { timeZone: this.appService.timeZone });\n\n let wDate = new Date(today);\n let dDay = wDate.getDay() > 0 ? wDate.getDay() : 7;\n let first = wDate.getDate() - dDay + 1;\n let firstDayWeek = new Date(wDate.setDate(first));\n let lastDayWeek = new Date(wDate.setDate(firstDayWeek.getDate() + 6));\n\n this.DateFrom = new Date(firstDayWeek);\n this.DateTo = new Date(lastDayWeek);\n\n this.form = this.fb.group({\n TransDate: [null, Validators.required],\n Reference: ['', Validators.required],\n Amount: [null, [Validators.required, Validators.pattern(/^[+-]?[0-9]\\d*$/)]],\n });\n this.getRefTypes();\n this.loadTransactions();\n this.Names = this.data.Names;\n\n }\n onSubmit() {\n if (this.form.valid) {\n\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n\n\n const req1 = {\n CategoryId: this.data.CategoryId,\n AccountId: this.data.Id,\n TransDate: this.form.value.TransDate,\n TransType: \"CR\",\n Reference: this.form.value.Reference,\n DebitAmount: 0,\n CreditAmount: this.form.value.Amount,\n DoneBy: username\n }\n const req2 = {\n CategoryId: this.data.CategoryId,\n AccountId: this.data.Id,\n TransDate: this.form.value.TransDate,\n TransType: \"DR\",\n Reference: this.form.value.Reference,\n DebitAmount: this.form.value.Amount,\n CreditAmount: 0,\n DoneBy: username\n }\n\n let req;\n\n\n if (this.form.value.Reference === \"Manual lunch deduction\") {\n req = req2;\n\n }\n else if (this.form.value.Reference === \"Snack Ticket Deduction\") {\n req = req2;\n\n }\n else {\n req = req1\n }\n\n\n this.loading = true;\n this.appService.CustomerAccounts(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n\n this.snackBar.open('Funds credited successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.form.reset();\n this.loadTransactions();\n\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n\n\n }\n }\n getRefTypes() {\n this.appService.RefTypes()\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.References = body;\n\n },\n error: (e) => {\n\n },\n complete: () => {\n\n }\n })\n }\n\n\n FilterByDate(event: any, value: any) {\n this.loadTransactions();\n }\n\n reverseTransaction(data: any, $event: any) {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n const message = this.appService.getTranslateValue('MESSAGE.SURE_CANCEL');\n let dialogRef = this.appService.openConfirmDialog('', message!);\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n const req = {\n Id: data.data.Id,\n DoneBy: username\n }\n\n this.loading = true;\n this.appService.ReverseAccounts(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n\n this.snackBar.open('Transaction reversed successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.loadTransactions();\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n }\n });\n\n\n }\n loadTransactions() {\n const req = {\n CategoryId: this.data.CategoryId,\n AccountId: this.data.Id,\n DateFrom: moment(this.DateFrom).format(\"DD-MMM-YYYY\"),\n DateTo: moment(this.DateTo).format(\"DD-MMM-YYYY\")\n }\n this.appService.CustomerAccountsList(req)\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.dataSource = body;\n this.loading = false;\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n })\n }\n onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Employees');\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Report.xlsx');\n });\n });\n e.cancel = true;\n }\n\n calculateSelectedRow(options) {\n if (options.name === 'SelectedRowsSummary') {\n if (options.summaryProcess === 'start') {\n options.totalValue = 0;\n } else if (options.summaryProcess === 'calculate') {\n\n options.totalValue += options.value.CreditAmount - options.value.DebitAmount;\n\n }\n }\n }\n\n}\n","<div class=\"header bg-primary\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n <h2 class=\"fw-500 secondary-font\">Manage Funds: {{Names}}</h2>\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\n </div>\n</div>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\" class=\"pt-3\">\n\n<div fxLayout=\"row wrap\" class=\"mt-2\">\n <div fxFlex=\"100\" fxFlex.gt-sm=\"25\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\n\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>TransDate</mat-label>\n <input matInput placeholder=\"Pick a date\" formControlName=\"TransDate\" required [(ngModel)]=\"today\"\n [matDatepicker]=\"datePicker\" [max]=\"today\">\n <mat-hint>DD/MM/YYYY</mat-hint>\n <mat-datepicker-toggle matSuffix [for]=\"datePicker\"></mat-datepicker-toggle>\n <mat-datepicker #datePicker></mat-datepicker>\n <mat-error *ngIf=\"form.controls.TransDate.errors?.required\">TransDate is required</mat-error>\n </mat-form-field>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-sm=\"25\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Reference</mat-label>\n\n <mat-select formControlName=\"Reference\" required>\n <mat-option *ngFor=\"let ref of References\" [value]=\"ref.label\">\n <span>{{ref.label}}</span>\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"form.controls.Reference.errors?.required\">Reference is required</mat-error>\n </mat-form-field>\n </div> \n <div fxFlex=\"100\" fxFlex.gt-sm=\"25\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Amount</mat-label>\n <input matInput formControlName=\"Amount\" required>\n <mat-error *ngIf=\"form.controls.Amount.errors?.required\">Amount is required</mat-error>\n <mat-error *ngIf=\"form.controls.Amount.hasError('pattern')\">Invalid Amount</mat-error>\n </mat-form-field>\n </div> \n</div>\n<div fxLayout=\"row wrap\" class=\"mt-2\" style=\"margin-bottom: 15px;\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"75\" class=\"px-3 text-right\">\n \n <button mat-raised-button color=\"primary\" type=\"submit\" class=\"uppercase\" >ADD FUNDS</button>\n \n </div>\n</div>\n</form>\n<mat-divider></mat-divider>\n\n<div fxLayout=\"row wrap\" fxLayoutAlign=\"left\" class=\"w-100 p-1\">\n <div fxFlex=\"100\" fxFlex.gt-sm=\"20\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\n\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Date</mat-label>\n <input matInput placeholder=\"Pick a date\" \n [matDatepicker]=\"datePickerFrom\" [(ngModel)]=\"DateFrom\" \n (dateChange)=\"FilterByDate('change', $event)\"\n >\n <mat-hint>DD/MM/YYYY</mat-hint>\n <mat-datepicker-toggle matSuffix [for]=\"datePickerFrom\"></mat-datepicker-toggle>\n <mat-datepicker #datePickerFrom></mat-datepicker>\n \n </mat-form-field>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-sm=\"20\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\n <!-- (dateInput)=\"FilterByDate('input', $event)\" -->\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Date</mat-label>\n <input matInput placeholder=\"Pick a date\"\n [matDatepicker]=\"datePickerTo\" [(ngModel)]=\"DateTo\" \n (dateChange)=\"FilterByDate('change', $event)\">\n <mat-hint>DD/MM/YYYY</mat-hint>\n <mat-datepicker-toggle matSuffix [for]=\"datePickerTo\"></mat-datepicker-toggle>\n <mat-datepicker #datePickerTo></mat-datepicker>\n \n </mat-form-field>\n </div>\n</div>\n<div fxLayout=\"row wrap\" class=\"px-3\">\n <div id=\"grid\" style=\"max-height:290px\">\n <dx-data-grid id=\"gridContainer\" [dataSource]=\"dataSource\" [rowAlternationEnabled]=\"true\"\n [showBorders]=\"true\" [showRowLines]=\"true\" [columnHidingEnabled]=\"true\" width=\"100%\"\n (onExporting)=\"onExporting($event)\">\n <dxo-paging [pageSize]=\"5\"></dxo-paging>\n <dxo-pager [visible]=\"true\" [allowedPageSizes]=\"[5, 10,20,50, 'all']\" [displayMode]=\"'full'\"\n [showPageSizeSelector]=\"true\" [showInfo]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\n <dxo-scrolling\n mode=\"standard\"> <!-- or \"virtual\" | \"infinite\" -->\n </dxo-scrolling>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-export [enabled]=\"true\" [formats]=\"['Excel']\" [allowExportSelectedData]=\"true\"></dxo-export>\n <dxi-column dataField=\"Id\" caption=\"Id\" width=\"70\"></dxi-column>\n <dxi-column dataField=\"TransDate\" caption=\"TransDate\" width=\"120\"></dxi-column>\n <dxi-column dataField=\"TransType\" caption=\"TransType\" width=\"120\"></dxi-column>\n <dxi-column dataField=\"Reference\" caption=\"Reference\"></dxi-column>\n <dxi-column dataField=\"CreditAmount\" caption=\"CreditAmount\" width=\"120\"></dxi-column>\n <dxi-column dataField=\"DebitAmount\" caption=\"DebitAmount\" width=\"120\"></dxi-column>\n\n <dxi-column dataField=\"Status\" caption=\"Status\" width=\"100\"></dxi-column>\n <dxi-column dataField=\"DateCreated\" caption=\"DateCreated\" width=\"100\"></dxi-column>\n <dxi-column dataField=\"CreatedBy\" caption=\"DoneBy\" width=\"150\"></dxi-column>\n <dxi-column caption=\"\" [width]=\"40\" [allowFiltering]=\"false\" [allowSorting]=\"false\"\n cellTemplate=\"actions\" [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'actions'\">\n\n <button class=\"gridbutton\" type=\"button\" (click)=\"reverseTransaction(data,$event)\">\n <mat-icon color=\"warn\">delete</mat-icon>\n </button>\n </div>\n <dxo-summary [calculateCustomSummary]=\"calculateSelectedRow\">\n <dxi-total-item\n column=\"DebitAmount\"\n summaryType=\"sum\"\n valueFormat=\",##0.##\"\n displayFormat=\"Debits: {0}\"\n >\n </dxi-total-item>\n <dxi-total-item\n column=\"CreditAmount\"\n summaryType=\"sum\"\n valueFormat=\",##0.##\"\n displayFormat=\"Credits: {0}\"\n >\n \n </dxi-total-item>\n <dxi-total-item\n name=\"SelectedRowsSummary\"\n summaryType=\"custom\"\n valueFormat=\",##0.##\"\n displayFormat=\"Acc. Bal: {0}\"\n showInColumn=\"CreatedBy\"\n >\n </dxi-total-item>\n </dxo-summary>\n\n\n </dx-data-grid>\n</div> \n</div>\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport * as moment from 'moment';\nimport * as pdfMake from 'pdfmake/build/pdfmake';\nimport { TDocumentDefinitions } from 'pdfmake/interfaces';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\n\n@Component({\n selector: 'app-manualpost',\n templateUrl: './manualpost.component.html',\n styleUrls: ['./manualpost.component.scss']\n})\nexport class ManualpostComponent implements OnInit {\n public today = new Date();\n public DateFrom = new Date();\n public DateTo = new Date();\n public dataSource: any[] = [];\n public columns: any[] = [];\n loading = false;\n constructor(\n public dialogRef: MatDialogRef<ManualpostComponent>,\n public appService: AppService,\n public snackBar: MatSnackBar,\n private encrypt: EncryptDecrypt, @Inject(MAT_DIALOG_DATA) public data: any,\n\n ) { }\n\n ngOnInit(): void {\n\n let wDate = new Date();\n let dDay = wDate.getDay() > 0 ? wDate.getDay() : 7;\n let first = wDate.getDate() - dDay + 1;\n let firstDayWeek = new Date(wDate.setDate(first));\n let lastDayWeek = new Date(wDate.setDate(firstDayWeek.getDate() + 6));\n const today = moment().toDate().toLocaleString('en-US', { timeZone: this.appService.timeZone });\n this.DateFrom = new Date(today);\n this.DateTo = new Date(today);\n\n\n }\n\n FilterByDate(event: any, value: any) {\n\n }\n\n public ListOrders(id) {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n const req = {\n DateFrom: moment(this.DateFrom).format(\"DD-MMM-YYYY\"),\n DateTo: moment(this.DateTo).format(\"DD-MMM-YYYY\")\n }\n this.loading = true;\n this.appService.ManualPostedReport(req)\n .subscribe({\n next: (data) => {\n console.log(data);\n this.loading = false;\n if (data.toString() != \"\") {\n const obj = JSON.parse(data.toString());\n this.dataSource = obj;\n console.log(obj);\n \n var dd: TDocumentDefinitions = {\n pageSize: 'A4',\n pageOrientation: 'landscape',\n footer: function (currentPage, pageCount) {\n return {\n table: {\n widths: ['30%', '10%', '10%', '10%', '40%'],\n body: [\n [\n { colSpan: 4, text: \"Page \" + currentPage.toString() + ' of ' + pageCount, alignment: 'left', margin: [20, 0, 0, 0] },\n {},\n {},\n {},\n \n {\n text: \"Printed by: \" + username, alignment: 'right', margin: [0, 0, 20, 0]\n }\n ],\n ]\n\n },\n layout: 'noBorders', \n }\n },\n content: [\n {\n text: 'TAMU TAMU CUISINE SARL',\n style: 'header',\n alignment: \"center\",\n\n },\n {\n text: 'MANUAL POSTS REPORT',\n style: 'subheader',\n alignment: \"center\",\n\n },\n { canvas: [{ type: 'line', x1: 0, y1: 0, x2: 762, y2: 0, lineWidth: 1 }] },\n { text: '', margin: [0, 0, 0, 10] },\n {\n table: {\n headerRows: 1,\n widths: [40,'auto',50,70,75,'*',75,75,50],\n body: [\n ['Id','Fullname','Category','TransDate','TransType','Reference','DebitAmount','CreditAmount','Status'],\n ...obj.map(p => ([p.AccountId,p.Fullname,p.Category, p.TransDate,p.TransType, p.Reference, p.DebitAmount,p.CreditAmount, p.Status])),\n\n ]\n }\n },\n ],\n\n styles: {\n header: {\n fontSize: 20,\n bold: true,\n color: '#000'\n\n },\n subheader: {\n fontSize: 15,\n bold: true,\n color: '#4D5963'\n },\n\n }\n }\n pdfMake.createPdf(dd).open();\n\n\n\n\n\n }\n },\n error: (e) => {\n\n this.loading = false;\n\n\n },\n complete: () => {\n this.loading = false;\n }\n })\n\n\n }\n viewReport() {\n\n console.log(this.data);\n \n this.ListOrders(this.data.CategoryId);\n }\n\n\n}\n","<div fxLayout=\"row wrap\" fxLayoutAlign=\"left\" class=\"w-100 p-1\">\n <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\n\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Date From</mat-label>\n <input matInput placeholder=\"Pick a date\" \n [matDatepicker]=\"datePickerFrom\" [(ngModel)]=\"DateFrom\" \n (dateChange)=\"FilterByDate('change', $event)\"\n >\n <mat-hint>DD/MM/YYYY</mat-hint>\n <mat-datepicker-toggle matSuffix [for]=\"datePickerFrom\"></mat-datepicker-toggle>\n <mat-datepicker #datePickerFrom></mat-datepicker>\n \n </mat-form-field>\n </div>\n \n <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\n <!-- (dateInput)=\"FilterByDate('input', $event)\" -->\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Date To</mat-label>\n <input matInput placeholder=\"Pick a date\"\n [matDatepicker]=\"datePickerTo\" [(ngModel)]=\"DateTo\" \n (dateChange)=\"FilterByDate('change', $event)\">\n <mat-hint>DD/MM/YYYY</mat-hint>\n <mat-datepicker-toggle matSuffix [for]=\"datePickerTo\"></mat-datepicker-toggle>\n <mat-datepicker #datePickerTo></mat-datepicker>\n \n </mat-form-field>\n </div>\n</div>\n<div fxLayout=\"row wrap\" fxLayoutAlign=\"left\" style=\"margin-top: 10px;\">\n\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"uppercase\" (click)=\"viewReport()\">\n View Report </button>\n</div>","import { Component, OnInit, ViewChild } from \"@angular/core\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { AppService } from \"src/app/app.service\";\nimport { EncryptDecrypt } from \"src/app/theme/directives/encrypt_decrypt\";\nimport { DiscountsComponent } from \"../discounts/discounts.component\";\nimport { FundsComponent } from \"../funds/funds.component\";\n\nimport { exportDataGrid } from \"devextreme/excel_exporter\";\nimport { Workbook } from \"exceljs\";\nimport { saveAs } from \"file-saver\";\nimport { SendalertDialogComponent } from \"../sendalert-dialog/sendalert-dialog.component\";\nimport { DxDataGridComponent } from \"devextreme-angular\";\nimport * as moment from \"moment\";\n\n@Component({\n selector: \"app-overdrawn\",\n templateUrl: \"./overdrawn.component.html\",\n styleUrls: [\"./overdrawn.component.scss\"],\n})\nexport class OverdrawnComponent implements OnInit {\n @ViewChild('grid', { static: false }) dataGrid!: DxDataGridComponent;\n dataSource: any = [];\n dataSourcefitered: any = [];\n loading = false;\n selectedCategoryId = 0;\n public DateFrom = new Date();\n \n constructor(\n public appService: AppService,\n public snackBar: MatSnackBar,\n private encrypt: EncryptDecrypt\n ) {\n const today = moment().toDate().toLocaleString('en-US', { timeZone: this.appService.timeZone });\n this.DateFrom = new Date(today);\n }\n\n\n ngOnInit(): void {\n this.listAccounts();\n }\n\n FilterByDate(event:any, value:any){\n this.listAccounts();\n }\n onChangeCategory(e) {\n console.log(e.value);\n if (e.value === 0) {\n this.dataSourcefitered = this.dataSource;\n } else if (e.value === 1) {\n this.dataSourcefitered = this.dataSource.filter(\n (item: any) => item.Balance < 0 && item.Status == 'Active'\n );\n } else if (e.value === 2) {\n this.dataSourcefitered = this.dataSource.filter(\n (item: any) => item.Balance >= 0 \n && item.Status == 'Active'\n );\n }else if (e.value === 3) {\n this.dataSourcefitered = this.dataSource.filter(\n (item: any) => item.Status != 'Active'\n );\n }\n }\n\n listAccounts() {\n this.loading = true;\n\n const req ={\n DateFrom: moment(this.DateFrom).format(\"DD-MMM-YYYY\")\n }\n\n this.appService.AccountBalancesList(req).subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.dataSource = body;\n this.dataSourcefitered = body;\n this.loading = false;\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n },\n });\n }\n \n\n\n onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet(\"Employees\");\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(\n new Blob([buffer], { type: \"application/octet-stream\" }),\n \"Report.xlsx\"\n );\n });\n });\n e.cancel = true;\n }\n public openDialogAlert(data: any | null) {\n const dialogRef = this.appService.openDialog(\n SendalertDialogComponent,\n data,\n \"theme-dialog\"\n );\n dialogRef.afterClosed().subscribe((dat) => {\n this.dataGrid.instance.deselectAll();\n });\n }\n\n disableAccount(data: any, $event: any) {\n \n \n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n const message = this.appService.getTranslateValue('MESSAGE.SURE_DISABLE');\n let dialogRef = this.appService.openConfirmDialog('', message!);\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n const req = {\n Id: data.data.AccountId,\n Category: data.data.Category,\n DoneBy: username\n }\n console.log(req);\n\n this.loading = true;\n this.appService.DisableAccounts(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n\n this.snackBar.open('Account disabled successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.listAccounts();\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n }\n });\n\n\n }\n\n archiveAccount(data: any, $event: any) {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n const message = this.appService.getTranslateValue('MESSAGE.SURE_ARCHIVE');\n let dialogRef = this.appService.openConfirmDialog('', message!);\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n const req = {\n AccountId: data.data.AccountId,\n CategoryId: data.data.Category==='Parent'? 1: 2,\n DoneBy: username\n }\n console.log(req);\n\n this.loading = true;\n this.appService.ArchiveAccount(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n\n this.snackBar.open('Account archived successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.listAccounts();\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n }\n });\n\n\n }\n\n \n sendAlerts() {\n \n if (this.dataGrid.instance.getVisibleRows().length > 0) {\n let data: any;\n const selectedRowsData = this.dataGrid.instance.getSelectedRowKeys();\n if (selectedRowsData.length > 0) {\n data = selectedRowsData;\n const req = { \n data: data\n };\n \n \n this.openDialogAlert(req);\n }\n else {\n this.dataGrid.instance.selectAll().then((x)=> {\n data = this.dataGrid.instance.getSelectedRowKeys();\n \n const req = {\n data: data\n };\n \n \n this.openDialogAlert(req);\n }); \n \n \n }\n\n }\n else {\n this.snackBar.open('No records found to send alerts.', '×', { panelClass: 'error', verticalPosition: 'top', duration: 6000 });\n }\n }\n}\n","\n<div fxLayout=\"row wrap\" fxLayoutAlign=\"left\">\n\n <div fxLayout=\"row wrap\" class=\"all-menu-items-wrapper mt-0\">\n <div fxFlex=\"100\" fxLayoutAlign=\"center center\" fxShow=\"true\" fxShow.gt-sm class=\"px-2 mb-3\">\n <mat-button-toggle-group #group=\"matButtonToggleGroup\" appearance=\"legacy\" [value]=\"selectedCategoryId\"\n class=\"categories-toogle-group mt-2\" (change)=\"onChangeCategory($event)\">\n <!--<mat-button-toggle [value]=\"0\" class=\"letter Categorytbtn\" >\n ALL\n </mat-button-toggle>-->\n <mat-button-toggle [value]=\"0\" class=\"letter Categorytbtn\">\n All Balances\n </mat-button-toggle>\n <mat-button-toggle [value]=\"1\" class=\"letter Categorytbtn\">\n Negative Balances\n </mat-button-toggle>\n <mat-button-toggle [value]=\"2\" class=\"letter Categorytbtn\">\n Positive Balances\n </mat-button-toggle>\n <mat-button-toggle [value]=\"3\" class=\"letter Categorytbtn\">\n Disabled Accounts\n </mat-button-toggle>\n </mat-button-toggle-group>\n </div>\n </div>\n\n\n <mat-divider></mat-divider>\n\n</div>\n\n\n<div fxLayout=\"row wrap\">\n\n <div fxFlex=\"100\" fxFlex.gt-sm=\"25\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\n\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Date</mat-label>\n <input matInput placeholder=\"Pick a date\" [matDatepicker]=\"datePickerFrom\" [(ngModel)]=\"DateFrom\"\n (dateChange)=\"FilterByDate('change', $event)\">\n <mat-hint>DD/MM/YYYY</mat-hint>\n <mat-datepicker-toggle matSuffix [for]=\"datePickerFrom\"></mat-datepicker-toggle>\n <mat-datepicker #datePickerFrom></mat-datepicker>\n\n </mat-form-field>\n </div>\n\n <mat-divider></mat-divider> \n</div>\n<div fxLayout=\"row wrap\">\n\n \n <mat-divider></mat-divider>\n\n\n <dx-data-grid #grid id=\"gridContainer\" [dataSource]=\"dataSourcefitered\" [rowAlternationEnabled]=\"true\"\n [showBorders]=\"true\" [showRowLines]=\"true\" [columnHidingEnabled]=\"true\" width=\"100%\"\n (onExporting)=\"onExporting($event)\">\n <dxo-paging [pageSize]=\"5\"></dxo-paging>\n <dxo-pager [visible]=\"true\" [allowedPageSizes]=\"[5, 10,20,50, 'all']\" [displayMode]=\"'full'\"\n [showPageSizeSelector]=\"true\" [showInfo]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\n <dxo-scrolling columnRenderingMode=\"virtual\"></dxo-scrolling>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-selection selectAllMode=\"allPages\" showCheckBoxesMode=\"always\" mode=\"multiple\"></dxo-selection>\n <dxo-search-panel [visible]=\"true\" [width]=\"300\" placeholder=\"Search...\"></dxo-search-panel>\n\n <dxo-export [enabled]=\"true\" [formats]=\"['Excel']\" [allowExportSelectedData]=\"true\"></dxo-export>\n <dxi-column dataField=\"AccountId\" caption=\"AccountId\" width=\"70\"></dxi-column>\n <dxi-column dataField=\"FullName\" caption=\"Names\"></dxi-column>\n <dxi-column dataField=\"Category\" caption=\"Category\" width=\"200\"></dxi-column>\n <dxi-column dataField=\"Balance\" caption=\"AccountBalance\" width=\"200\">\n <dxo-format type=\"fixedPoint\" [precision]=\"2\">\n </dxo-format>\n </dxi-column>\n <dxi-column caption=\"\" [width]=\"70\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"actions\"\n [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'actions'\">\n <button class=\"gridbutton\" (click)=\"disableAccount(data,$event)\" matTooltip=\"Disable Account\">\n <mat-icon color=\"warn\">block</mat-icon>\n </button>\n <button class=\"gridbutton\" (click)=\"archiveAccount(data,$event)\" matTooltip=\"Archive Account\">\n <mat-icon color=\"primary\">archive</mat-icon>\n </button>\n </div>\n </dx-data-grid>\n\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"right\" style=\"margin-top: 10px;\">\n\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"uppercase\" (click)=\"sendAlerts()\">\n Send Accounts Alerts </button>\n </div>\n\n</div>\n\n<div class=\"overlay\" *ngIf=\"loading\">\n <div class=\"center\">\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\n </div>\n\n</div>","import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormGroup, UntypedFormBuilder, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\nimport { emailValidator } from 'src/app/theme/utils/app-validators';\n \n@Component({\n selector: 'app-addstudent-dialog',\n templateUrl: './addstudent-dialog.component.html',\n styleUrls: ['./addstudent-dialog.component.scss']\n})\nexport class AddstudentDialogComponent implements OnInit {\n public verified = false;\n dataSource: any=[];\n loading = false;\n Names=\"\";\n public form!: UntypedFormGroup;\n constructor(\n public dialogRef: MatDialogRef<AddstudentDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any, public appService: AppService,\n public fb: UntypedFormBuilder, public snackBar: MatSnackBar, private encrypt: EncryptDecrypt,\n ) {\n\n\n }\n\n ngOnInit(): void {\n this.form = this.fb.group({\n id: 0,\n studentId: [null, Validators.required],\n names: [null, Validators.required],\n grade: null\n });\n this.Names= this.data.Names;\n this.loadStudents(this.data.Id);\n }\n public keyupStudentId(item: any) {\n if (item.key == \"Enter\") {\n this.VerifyStudentId(this.form.value.studentId);\n this.verified = true;\n }\n }\n public onFocusOutStudentId(item: any) {\n\n\n if (this.verified === false)\n this.VerifyStudentId(this.form.value.studentId);\n else\n this.verified = false\n\n }\n public VerifyStudentId(studentid: any) {\n\n const req = {\n StudentId: studentid\n }\n this.loading = true;\n this.appService.VerifyStudentIdUnMasked(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n const student: any = JSON.parse(JSON.stringify(data));\n\n if (student.Surname !== null) {\n const data = {\n id: 0,\n names: student.Othernames + \" \" + student.Surname,\n grade: student.Grade\n }\n\n\n this.form.patchValue(data);\n\n\n }\n\n\n\n },\n error: (e) => {\n this.loading = false;\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 3000 });\n\n\n\n },\n complete: () => {\n this.loading = false;\n }\n })\n }\n public deleteStudent(data:any, $event: any) {\n\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n\n const req = {\n Id: data.data.StudentId,\n DoneBy: username\n }\n\n const message = this.appService.getTranslateValue('MESSAGE.SURE_DELETE');\n let dialogRef = this.appService.openConfirmDialog('', message!);\n dialogRef.afterClosed().subscribe(dialogResult => {\n if (dialogResult) {\n\n this.appService.RemoveParentStudent(req)\n .subscribe({\n next: (dt) => {\n if (dt === \"\") {\n\n this.snackBar.open('Student removed successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.loadStudents(this.data.Id);\n } else {\n\n if (dt != null)\n this.snackBar.open(dt.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n\n },\n complete: () => {\n\n }\n })\n\n }\n });\n }\n loadStudents(Id: any) {\n this.appService.ParentStudentById(Id)\n .subscribe({\n next: (data) => {\n const students: any = JSON.parse(JSON.stringify(data));\n\n this.dataSource=students;\n\n },\n error: (e) => {\n\n },\n complete: () => {\n\n }\n })\n }\n public onSubmit() {\n if (this.form.valid) {\n\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n\n const req ={\n ParentId:this.data.Id,\n StudentId:this.form.value.studentId,\n DoneBy:TamuApp.Username\n }\n this.appService.AdminStudentRegister(req)\n .subscribe({\n next: (dat) => {\n if (dat === \"\") {\n this.loadStudents(this.data.Id);\n this.form.reset();\n this.snackBar.open('You have added the student successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n \n } else {\n\n if (dat != null)\n this.snackBar.open(dat.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n\n },\n complete: () => {\n\n }\n })\n\n }\n\n }\n }\n}\n","<div class=\"header bg-primary\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n <h2 class=\"fw-500 secondary-font\">Manage Students: {{Names}}</h2>\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\n </div>\n</div>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\" class=\"pt-3\">\n <div mat-dialog-content>\n \n\n <div fxLayout=\"row wrap\" class=\"mt-2\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"50\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>StudentId</mat-label>\n <input matInput formControlName=\"studentId\" required (keyup)=\"keyupStudentId($event)\"\n (focusout)=\"onFocusOutStudentId($event)\">\n <mat-error *ngIf=\"form.controls.studentId.errors?.required\">StudentId is required</mat-error>\n </mat-form-field>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-md=\"50\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Grade</mat-label>\n <input matInput formControlName=\"grade\" readonly>\n </mat-form-field>\n\n\n </div>\n \n <div fxLayout=\"row wrap\" class=\"mt-2\" fxFlex=\"100\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Names</mat-label>\n <input matInput formControlName=\"names\" readonly>\n </mat-form-field>\n\n\n </div>\n \n\n </div>\n\n </div>\n\n </div>\n <div mat-dialog-actions>\n <div fxLayout=\"row\" fxLayoutAlign=\"flex-end center\" class=\"w-100\">\n <button mat-raised-button color=\"warn\" type=\"button\" mat-dialog-close>Close</button>\n <button mat-raised-button color=\"primary\" type=\"submit\">Save</button>\n </div>\n </div>\n<div style=\"margin-top:20px\"> \n<mat-divider></mat-divider>\n<dx-data-grid id=\"gridContainer\" [dataSource]=\"dataSource\" [rowAlternationEnabled]=\"true\"\n[showBorders]=\"true\" [showRowLines]=\"true\" [columnHidingEnabled]=\"true\" width=\"100%\">\n<dxo-paging [pageSize]=\"5\"></dxo-paging>\n<dxo-pager [visible]=\"true\" [allowedPageSizes]=\"[5, 10,20,50, 'all']\" [displayMode]=\"'full'\"\n [showPageSizeSelector]=\"true\" [showInfo]=\"true\" [showNavigationButtons]=\"true\">\n</dxo-pager>\n<dxo-scrolling columnRenderingMode=\"virtual\"></dxo-scrolling>\n \n<dxi-column dataField=\"StudentId\" caption=\"StudentId\" width=\"120\"></dxi-column>\n<dxi-column dataField=\"Names\" caption=\"Names\"></dxi-column>\n<dxi-column dataField=\"Grade\" caption=\"Grade\" width=\"100\"></dxi-column>\n \n<dxi-column caption=\"\" [width]=\"40\" [allowFiltering]=\"false\" [allowSorting]=\"false\"\n cellTemplate=\"actions\" [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n<div *dxTemplate=\"let data of 'actions'\">\n \n <button class=\"gridbutton\" type=\"button\" (click)=\"deleteStudent(data,$event)\">\n <mat-icon color=\"warn\">delete</mat-icon>\n </button>\n</div>\n\n</dx-data-grid>\n</div>\n\n</form>\n\n\n\n\n<div class=\"overlay\" *ngIf=\"loading\">\n <div class=\"center\">\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\n </div>\n\n</div>","import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AppService } from 'src/app/app.service';\nimport { emailValidator } from 'src/app/theme/utils/app-validators';\n\n@Component({\n selector: 'app-parent-dialog',\n templateUrl: './parent-dialog.component.html',\n styleUrls: ['./parent-dialog.component.scss']\n})\nexport class ParentDialogComponent implements OnInit {\n public form!: UntypedFormGroup;\n discounts: any = [];\n loading = false;\n constructor(\n public dialogRef: MatDialogRef<ParentDialogComponent>,public appService:AppService,\n @Inject(MAT_DIALOG_DATA) public data: any, public fb: UntypedFormBuilder\n ) {\n\n\n }\n\n ngOnInit(): void {\n this.form = this.fb.group({\n Id: 0,\n Names: ['', Validators.required],\n Email: ['',Validators.compose([Validators.required, emailValidator])],\n AltEmail: ['', Validators.compose([Validators.email,emailValidator])],\n MobileNo: [''],\n BlockOrders:[false],\n DiscountCategory:[0, Validators.required]\n }); \n this.loadDiscounts();\n if(this.data){\n this.form.patchValue(this.data); \n };\n }\n loadDiscounts() {\n this.loading = true;\n this.appService.ShowDiscountsByCategory(1)\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.discounts = body;\n this.loading = false;\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n })\n }\n public onSubmit(){ \n\n if(this.form.valid){\n console.log(this.form.value);\n \n this.dialogRef.close(this.form.value);\n\n }\n }\n}\n","<div class=\"header bg-primary\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n <h2 class=\"fw-500 secondary-font\">{{(data) ? 'Edit' : 'Add'}} Parent</h2>\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\n </div>\n</div>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\" class=\"pt-3\">\n\n <div fxLayout=\"row wrap\" class=\"mt-2\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Names</mat-label>\n <input matInput formControlName=\"Names\" required>\n <mat-error *ngIf=\"form.controls.Names.errors?.required\">Names are required\n </mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row wrap\" class=\"mt-2\" fxFlex=\"100\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"50\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Email</mat-label>\n <input matInput formControlName=\"Email\" required>\n <mat-error *ngIf=\"form.controls.Email.errors?.required\">Email is required\n </mat-error>\n </mat-form-field>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-md=\"50\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Altenate Email</mat-label>\n <input matInput formControlName=\"AltEmail\">\n </mat-form-field>\n </div>\n </div>\n <div fxLayout=\"row wrap\" class=\"mt-2\" fxFlex=\"100\">\n\n\n <div fxFlex=\"100\" fxFlex.gt-md=\"50\" class=\"px-3\">\n\n\n\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>MobileNo</mat-label>\n <ngx-mat-intl-tel-input\n [preferredCountries]=\"['ci']\"\n [enablePlaceholder]=\"true\"\n [enableSearch]=\"true\"\n formControlName=\"MobileNo\"\n name=\"MobileNo\"\n #MobileNo\n ></ngx-mat-intl-tel-input>\n <mat-hint>e.g. {{MobileNo?.selectedCountry?.placeHolder}}</mat-hint>\n <mat-error *ngIf=\"form.controls.MobileNo.errors?.validatePhoneNumber\">Invalid Number\n </mat-error>\n </mat-form-field>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-md=\"25\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Discount Category</mat-label>\n\n <mat-select formControlName=\"DiscountCategory\"\n >\n <mat-option [value]=\"0\">None</mat-option>\n <mat-option *ngFor=\"let type of discounts\" [value]=\"type.value\">\n <span>{{type.label}}</span>\n </mat-option>\n </mat-select>\n\n \n </mat-form-field>\n </div>\n\n\n <div fxFlex=\"100\" fxFlex.gt-md=\"25\" class=\"px-3\">\n \n <mat-checkbox matCheckbox formControlName=\"BlockOrders\" color=\"primary\">Block Orders</mat-checkbox>\n \n </div> \n\n </div>\n\n\n </div>\n\n\n\n\n <mat-divider></mat-divider>\n\n <div fxLayout=\"row wrap\" class=\"mt-2\" style=\"margin-bottom: 15px;\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3 text-right\">\n <button mat-raised-button color=\"primary\" type=\"submit\" class=\"uppercase\">Submit</button>\n\n </div>\n </div>\n</form>","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\nimport { DiscountsComponent } from '../discounts/discounts.component';\nimport { FundsComponent } from '../funds/funds.component';\nimport { AddstudentDialogComponent } from './addstudent-dialog/addstudent-dialog.component';\nimport { ParentDialogComponent } from './parent-dialog/parent-dialog.component';\nimport { exportDataGrid } from 'devextreme/excel_exporter';\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { SendalertDialogComponent } from '../sendalert-dialog/sendalert-dialog.component';\nimport { ManualpostComponent } from '../manualpost/manualpost.component'\n@Component({\n selector: 'app-parents',\n templateUrl: './parents.component.html',\n styleUrls: ['./parents.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ParentsComponent implements OnInit {\n dataSource: any = [];\n fitereddataSource: any = [];\n students: any = [];\n loading = false;\n gridBoxValue: any;\n isGridBoxOpened: boolean = false;\n constructor(\n public appService: AppService,\n public snackBar: MatSnackBar,\n private encrypt: EncryptDecrypt,\n private ref: ChangeDetectorRef\n ) { }\n gridBox_displayExpr(item) {\n\n\n return item && `${item.Names} <${item.ParentName}>`;\n }\n viewReport() {\n const req = {\n CategoryId: 1\n }\n\n this.openDialogReport(req);\n }\n loadStudents() {\n this.loading = true;\n this.appService.StudentOrderList()\n .subscribe({\n next: (data) => {\n\n\n this.students = JSON.parse(JSON.stringify(data));\n\n this.loading = false;\n this.ref.detectChanges();\n },\n error: (e) => {\n this.loading = false;\n this.ref.detectChanges();\n },\n complete: () => {\n this.loading = false;\n this.ref.detectChanges();\n }\n })\n }\n onGridBoxOptionChanged(e) {\n\n\n if (e.name === 'value') {\n this.isGridBoxOpened = false;\n\n this.ref.detectChanges();\n }\n\n\n if (e.name === 'displayValue') {\n\n if (e.value.length > 0) {\n console.log(e.value[0]);\n var str1 = e.value[0]\n\n var parent = str1.substring(str1.indexOf('<') + 1, str1.indexOf('>'));\n console.log(parent);\n this.fitereddataSource = this.dataSource.filter((x: { Fullname: any; }) => x.Fullname == parent);\n\n }\n else {\n this.fitereddataSource = this.dataSource;\n }\n\n }\n }\n ngOnInit(): void {\n this.listparents();\n this.loadStudents();\n }\n editClient(data: any, $event: any) {\n console.log(data.data);\n const req = {\n Id: data.data.Id,\n Names: data.data.Fullname,\n Email: data.data.Email,\n AltEmail: data.data.Email,\n MobileNo: data.data.MobileNo,\n DiscountCategory: data.data.DiscountCategory.toString(),\n BlockOrders: data.data.BlockOrders,\n }\n this.openParentDialog(req);\n }\n AddStudent(data: any, $event: any) {\n\n const req = {\n Id: data.data.Id,\n Names: data.data.Fullname\n }\n this.openDialogStudent(req);\n\n }\n addParent() {\n\n this.openParentDialog(null);\n }\n viewDiscount(data: any, $event: any) {\n const req = {\n Id: data.data.Id,\n CategoryId: 1,\n Names: data.data.Fullname\n }\n\n this.openDialogDiscount(req);\n }\n addFunds(data: any, $event: any) {\n const req = {\n Id: data.data.Id,\n CategoryId: 1,\n Names: data.data.Fullname\n }\n\n\n this.openDialogFunds(req);\n }\n listparents() {\n this.loading = true;\n this.appService.ParentList()\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n\n\n this.dataSource = body;\n this.fitereddataSource = this.dataSource;\n this.loading = false;\n this.ref.detectChanges();\n\n },\n error: (e) => {\n this.loading = false;\n this.ref.detectChanges();\n },\n complete: () => {\n this.loading = false;\n this.ref.detectChanges();\n }\n });\n\n\n }\n public openParentDialog(data: any | null) {\n const dialogRef = this.appService.openDialog(ParentDialogComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n\n\n if (dat != null) {\n const req = {\n Id: dat.Id,\n Email: dat.Email,\n FullName: dat.Names,\n AlternateEmail: dat.AltEmail,\n MobileNo: dat.MobileNo,\n BlockOrders: dat.BlockOrders,\n DiscountCategory: dat.DiscountCategory,\n DoneBy: username\n }\n console.log(req);\n\n this.loading = true;\n this.appService.Parent(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n if (dat.Id === 0) {\n this.snackBar.open('Parent details saved successfully, and email sent to parent with login details.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n }\n else {\n this.snackBar.open('Parent details saved successfully.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n }\n\n this.listparents();\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n }\n });\n\n }\n public openDialogStudent(data: any | null) {\n const dialogRef = this.appService.openDialog(AddstudentDialogComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n\n\n });\n\n }\n public openDialogDiscount(data: any | null) {\n const dialogRef = this.appService.openDialog(DiscountsComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n\n\n });\n\n }\n public openDialogFunds(data: any | null) {\n const dialogRef = this.appService.openDialog(FundsComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n this.listparents();\n\n\n\n });\n\n }\n\n public openDialogReport(data: any | null) {\n const dialogRef = this.appService.openDialog(ManualpostComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n\n\n });\n\n }\n onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Employees');\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Report.xlsx');\n });\n });\n e.cancel = true;\n }\n public openDialogAlert(data: any | null) {\n const dialogRef = this.appService.openDialog(SendalertDialogComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n\n\n });\n\n }\n sendAlerts() {\n const req = {\n CategoryId: 1\n }\n this.openDialogAlert(req);\n }\n\n\n\n\n}\n","<div fxLayout=\"row wrap\" fxLayoutAlign=\"left\">\n\n <mat-divider></mat-divider>\n <div fxFlex=\"100\" fxFlex.gt-sm=\"25\">\n <button\n mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"uppercase\"\n (click)=\"addParent()\"\n >\n Add Parent\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"uppercase\"\n (click)=\"viewReport()\" style=\"margin: 5px;\"\n >\n View Report\n </button>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-sm=\"25\">\n \n </div>\n <mat-divider></mat-divider>\n <div fxFlex=\"100\" fxFlex.gt-sm=\"100\">\n <div fxFlex=\"100\" fxFlex.gt-sm=\"50\" style=\"margin-top: 10px; margin-bottom: 10px;\">\n\n <div>Search by Student</div>\n <dx-drop-down-box\n [(value)]=\"gridBoxValue\"\n [(opened)]=\"isGridBoxOpened\"\n valueExpr=\"StudentId\"\n [displayExpr]=\"gridBox_displayExpr\"\n placeholder=\"Select a student...\"\n [showClearButton]=\"true\"\n [dataSource]=\"students\"\n (onOptionChanged)=\"onGridBoxOptionChanged($event)\"\n >\n <div *dxTemplate=\"let data of 'content'\">\n <dx-data-grid\n #grid\n id=\"gridContainer\"\n [dataSource]=\"students\"\n [rowAlternationEnabled]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n keyExpr=\"StudentId\"\n [(selectedRowKeys)]=\"gridBoxValue\"\n width=\"100%\"\n >\n <dxo-selection mode=\"single\"></dxo-selection>\n <dxo-filter-row [visible]=\"false\"></dxo-filter-row>\n <dxo-search-panel\n [visible]=\"true\"\n [width]=\"300\"\n placeholder=\"Search...\"\n ></dxo-search-panel>\n <dxo-scrolling mode=\"virtual\"></dxo-scrolling>\n <dxo-paging [enabled]=\"true\" [pageSize]=\"10\"></dxo-paging>\n <dxi-column dataField=\"StudentId\" caption=\"StudentId\" width=\"100\"></dxi-column>\n <dxi-column dataField=\"Names\" caption=\"Names\"></dxi-column>\n <dxi-column dataField=\"Grade\" caption=\"Grade\" width=\"80\"></dxi-column>\n <dxi-column dataField=\"ParentName\" caption=\"ParentName\"></dxi-column>\n </dx-data-grid>\n </div>\n </dx-drop-down-box>\n </div>\n \n </div>\n\n <mat-divider></mat-divider>\n\n <dx-data-grid\n id=\"gridContainer\"\n [dataSource]=\"fitereddataSource\"\n [rowAlternationEnabled]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [columnHidingEnabled]=\"true\"\n width=\"100%\"\n (onExporting)=\"onExporting($event)\"\n >\n <dxo-paging [pageSize]=\"5\"></dxo-paging>\n <dxo-pager\n [visible]=\"true\"\n [allowedPageSizes]=\"[5, 10, 20, 50, 'all']\"\n [displayMode]=\"'full'\"\n [showPageSizeSelector]=\"true\"\n [showInfo]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-scrolling columnRenderingMode=\"virtual\"></dxo-scrolling>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-search-panel\n [visible]=\"true\"\n [width]=\"300\"\n placeholder=\"Search...\"\n ></dxo-search-panel>\n <dxo-export\n [enabled]=\"true\"\n [formats]=\"['Excel']\"\n [allowExportSelectedData]=\"true\"\n ></dxo-export>\n <dxi-column dataField=\"Id\" caption=\"Id\" width=\"70\"></dxi-column>\n <dxi-column dataField=\"Fullname\" caption=\"Names\"></dxi-column>\n <dxi-column dataField=\"Email\" caption=\"Email\" width=\"200\"></dxi-column>\n <dxi-column\n dataField=\"MobileNo\"\n caption=\"MobileNo\"\n width=\"120\"\n ></dxi-column>\n <dxi-column dataField=\"AccountBalance\" caption=\"AccountBalance\" width=\"120\">\n <dxo-format type=\"fixedPoint\" [precision]=\"2\"> </dxo-format>\n </dxi-column>\n <dxi-column\n dataField=\"DateCreated\"\n caption=\"DateCreated\"\n width=\"120\"\n ></dxi-column>\n <dxi-column dataField=\"BlockOrders\" caption=\"BlockOrders\" width=\"100\"></dxi-column>\n <dxi-column dataField=\"DiscountCategory\" caption=\"DiscountCategory\" [visible]=\"false\"></dxi-column>\n <dxi-column dataField=\"Status\" caption=\"Status\" width=\"100\"></dxi-column>\n <dxi-column dataField=\"CreatedBy\" caption=\"DoneBy\" width=\"150\"></dxi-column>\n <dxi-column\n caption=\"\"\n [width]=\"140\"\n [allowFiltering]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"actions\"\n [fixed]=\"true\"\n fixedPosition=\"right\"\n ></dxi-column>\n <div *dxTemplate=\"let data of 'actions'\">\n <button\n class=\"gridbutton\"\n (click)=\"AddStudent(data, $event)\"\n matTooltip=\"View Students\"\n >\n <mat-icon color=\"primary\">group_add</mat-icon>\n </button>\n \n <button\n class=\"gridbutton\"\n (click)=\"viewDiscount(data, $event)\"\n matTooltip=\"View Discount\"\n >\n <mat-icon color=\"primary\">library_add</mat-icon>\n </button>\n\n \n <button\n class=\"gridbutton\"\n (click)=\"addFunds(data, $event)\"\n matTooltip=\"Add Funds\"\n >\n <mat-icon color=\"primary\">note_add</mat-icon>\n </button>\n\n \n <button\n class=\"gridbutton\"\n (click)=\"editClient(data, $event)\"\n matTooltip=\"Edit Parent\"\n >\n <mat-icon color=\"primary\">edit</mat-icon>\n </button>\n </div>\n </dx-data-grid>\n\n <div class=\"overlay\" *ngIf=\"loading\">\n <div class=\"center\">\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\n </div>\n </div>\n \n<!-- <div fxLayout=\"row wrap\" fxLayoutAlign=\"right\" style=\"margin-top: 10px\">\n <button\n mat-raised-button\n color=\"primary\"\n type=\"button\"\n class=\"uppercase\"\n (click)=\"sendAlerts()\"\n >\n Send Accounts Alerts\n </button>\n </div> -->\n</div>\n\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport * as moment from 'moment';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\n\n@Component({\n selector: 'app-sendalert-dialog',\n templateUrl: './sendalert-dialog.component.html',\n styleUrls: ['./sendalert-dialog.component.scss']\n})\nexport class SendalertDialogComponent implements OnInit {\n\n public verified = false;\n dataSource: any = [];\n loading = false;\n public Attach = true;\n public StatementPeriod = 1;\n public DateFrom = new Date();\n public AccountOption = \"1\";\n public progress = 0;\n public sendingname = \"\";\n constructor(\n public dialogRef: MatDialogRef<SendalertDialogComponent>,\n @Inject(MAT_DIALOG_DATA) public data: any, public appService: AppService,\n public snackBar: MatSnackBar, private encrypt: EncryptDecrypt,\n ) {\n\n\n\n }\n\n ngOnInit(): void {\n const today = moment().toDate().toLocaleString('en-US', { timeZone: this.appService.timeZone });\n this.DateFrom = new Date(today);\n console.log(this.data.data);\n\n\n }\n SendAlerts() {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n const total = this.data.data.length;\n let count = 0;\n this.progress = 0;\n\n this.loading = true;\n\n this.data.data.forEach(element => {\n\n const req = {\n DateFrom: moment(this.DateFrom).format(\"DD-MMM-YYYY\"),\n Id: element.AccountId,\n CategoryId: element.Category == \"Parent\" ? 1 : 2,\n AccountOption: this.AccountOption,\n StatementPeriod: this.StatementPeriod,\n Attachment: this.Attach,\n DoneBy: username\n }\n\n\n this.appService.AccountAlertDetails(req)\n .subscribe({\n next: (data) => {\n\n const body = JSON.parse(JSON.stringify(data));\n count = count + 1;\n\n this.progress = count / total * 100;\n\n if (this.progress === 100) {\n this.snackBar.open('Balances alerts sent successfully', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.loading = false;\n }\n if (body.length > 0)\n this.sendingname = body[0].FullName;\n\n console.log(this.progress);\n }\n });\n\n });\n\n\n }\n\n}\n","<div class=\"header bg-primary\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n <h2 class=\"fw-500 secondary-font\">Send Alerts</h2>\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\n </div>\n</div>\n\n<div mat-dialog-content>\n\n\n <div fxLayout=\"row wrap\" class=\"mt-2\" style=\"max-width: 600px;\">\n <div fxFlex=\"100\" fxFlex.gt-sm=\"100\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\n\n <mat-form-field appearance=\"outline\" class=\"w-100\" style=\"max-width: 250px;\">\n <mat-label>Statement Date</mat-label>\n <input matInput placeholder=\"Pick a date\" [matDatepicker]=\"datePickerFrom\" [(ngModel)]=\"DateFrom\">\n <mat-hint>DD/MM/YYYY</mat-hint>\n <mat-datepicker-toggle matSuffix [for]=\"datePickerFrom\"></mat-datepicker-toggle>\n <mat-datepicker #datePickerFrom></mat-datepicker>\n\n </mat-form-field>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-sm=\"100\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\" style=\"margin-top: 10px; margin-bottom: 10px;\">\n <mat-radio-group aria-label=\"Select an option\" [(ngModel)]=\"AccountOption\">\n <mat-radio-button value=\"1\">All Accounts</mat-radio-button>\n \n <mat-radio-button value=\"2\">Accounts With Negative Balances</mat-radio-button>\n\n </mat-radio-group>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-md=\"50\" class=\"px-3\">\n <div class=\"py-3\">\n <mat-checkbox color=\"primary\" [(ngModel)]=\"Attach\">\n <div fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <span class=\"mr-1\">Attach Statement</span>\n\n </div>\n </mat-checkbox>\n </div>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-md=\"50\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Statement Period</mat-label>\n <mat-select [(ngModel)]=\"StatementPeriod\" [(value)]=\"StatementPeriod\">\n <mat-option [value]=\"1\">Monthly</mat-option>\n <mat-option [value]=\"2\">Quarterly</mat-option>\n <mat-option [value]=\"3\">Half Yearly</mat-option>\n <mat-option [value]=\"4\">Yearly</mat-option>\n\n </mat-select>\n \n </mat-form-field>\n </div>\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3\">\n\n <mat-progress-bar mode=\"determinate\" [value]=\"progress\"></mat-progress-bar>\n <label style=\"font-style: italic; color:green \" *ngIf=\"loading\" >Processing: {{sendingname}}</label>\n </div>\n </div>\n\n</div>\n<div mat-dialog-actions>\n <div fxLayout=\"row\" fxLayoutAlign=\"flex-end center\" class=\"w-100\">\n <button mat-raised-button color=\"warn\" [disabled]=\"loading\" type=\"button\" mat-dialog-close>Close</button>\n <button mat-raised-button color=\"primary\" type=\"button\" [disabled]=\"loading\" (click)=\"SendAlerts()\">Send</button>\n </div>\n</div>\n\n\n\n\n\n\n\n<div class=\"overlay\" *ngIf=\"loading\">\n <div class=\"center\">\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\n </div>\n\n</div>","import { Component, Inject, OnInit } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { AppService } from 'src/app/app.service';\nimport { emailValidator } from 'src/app/theme/utils/app-validators';\n\n@Component({\n selector: 'app-teacher-dialog',\n templateUrl: './teacher-dialog.component.html',\n styleUrls: ['./teacher-dialog.component.scss']\n})\nexport class TeacherDialogComponent implements OnInit {\n public form!: UntypedFormGroup;\n discounts: any = [];\n loading = false;\n constructor(\n public dialogRef: MatDialogRef<TeacherDialogComponent>,public appService:AppService,\n @Inject(MAT_DIALOG_DATA) public data: any, public fb: UntypedFormBuilder\n ) { }\n\n\n ngOnInit(): void {\n this.form = this.fb.group({\n Id: 0,\n Names: ['', Validators.required],\n Email: ['',Validators.compose([Validators.required, emailValidator])],\n MobileNo: [''],\n BlockOrders:[false],\n DiscountCategory:[0, Validators.required]\n }); \n \n this.loadDiscounts();\n if(this.data){\n this.form.patchValue(this.data); \n };\n }\n loadDiscounts() {\n this.loading = true;\n this.appService.ShowDiscountsByCategory(2)\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.discounts = body;\n this.loading = false;\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n })\n }\n public onSubmit(){ \n if(this.form.valid){\n\n this.dialogRef.close(this.form.value);\n \n }\n }\n}\n","<div class=\"header bg-primary\">\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"space-between center\">\n <h2 class=\"fw-500 secondary-font\">{{(data) ? 'Edit' : 'Add'}} Teacher</h2>\n <app-dialog-header-controls [dialogRef]=\"dialogRef\"></app-dialog-header-controls>\n </div>\n</div>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\" autocomplete=\"off\" class=\"pt-3\">\n\n <div fxLayout=\"row wrap\" class=\"mt-2\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Names</mat-label>\n <input matInput formControlName=\"Names\" required>\n <mat-error *ngIf=\"form.controls.Names.errors?.required\">Names are required\n </mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row wrap\" class=\"mt-2\" fxFlex=\"100\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Email</mat-label>\n <input matInput formControlName=\"Email\" required>\n <mat-error *ngIf=\"form.controls.Email.errors?.required\">Email is required\n </mat-error>\n </mat-form-field>\n </div>\n \n </div>\n <div fxLayout=\"row wrap\" class=\"mt-2\" fxFlex=\"100\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>MobileNo</mat-label>\n <ngx-mat-intl-tel-input\n [preferredCountries]=\"['ci']\"\n [enablePlaceholder]=\"true\"\n [enableSearch]=\"true\"\n formControlName=\"MobileNo\"\n name=\"MobileNo\"\n #MobileNo\n ></ngx-mat-intl-tel-input>\n <mat-hint>e.g. {{MobileNo?.selectedCountry?.placeHolder}}</mat-hint>\n <mat-error *ngIf=\"form.controls.MobileNo.errors?.validatePhoneNumber\">Invalid Number\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n <div fxLayout=\"row wrap\" class=\"mt-2\" fxFlex=\"100\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"25\" class=\"px-3\">\n <mat-form-field appearance=\"outline\" class=\"w-100\">\n <mat-label>Discount Category</mat-label>\n\n <mat-select formControlName=\"DiscountCategory\"\n >\n <mat-option [value]=\"0\">None</mat-option>\n <mat-option *ngFor=\"let type of discounts\" [value]=\"type.value\">\n <span>{{type.label}}</span>\n </mat-option>\n </mat-select>\n\n\n </mat-form-field>\n </div>\n\n <div fxFlex=\"100\" fxFlex.gt-md=\"50\" class=\"px-3\">\n \n <mat-checkbox matCheckbox formControlName=\"BlockOrders\" color=\"primary\">Block Orders</mat-checkbox>\n \n </div> \n </div>\n\n </div>\n\n\n\n\n <mat-divider></mat-divider>\n\n <div fxLayout=\"row wrap\" class=\"mt-2\" style=\"margin-bottom: 15px;\">\n <div fxFlex=\"100\" fxFlex.gt-md=\"100\" class=\"px-3 text-right\">\n <button mat-raised-button color=\"primary\" type=\"submit\" class=\"uppercase\">Submit</button>\n\n </div>\n </div>\n</form>","import { Component, OnInit } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { exportDataGrid } from 'devextreme/excel_exporter';\nimport { Workbook } from 'exceljs';\nimport { saveAs } from 'file-saver';\nimport { AppService } from 'src/app/app.service';\nimport { EncryptDecrypt } from 'src/app/theme/directives/encrypt_decrypt';\nimport { DiscountsComponent } from '../discounts/discounts.component';\nimport { FundsComponent } from '../funds/funds.component';\nimport { SendalertDialogComponent } from '../sendalert-dialog/sendalert-dialog.component';\nimport { TeacherDialogComponent } from './teacher-dialog/teacher-dialog.component';\n\n@Component({\n selector: 'app-teachers',\n templateUrl: './teachers.component.html',\n styleUrls: ['./teachers.component.scss']\n})\nexport class TeachersComponent implements OnInit {\n dataSource: any = [];\n loading = false;\n constructor(\n public appService: AppService,\n public snackBar: MatSnackBar,\n private encrypt: EncryptDecrypt,\n ) { }\n\n ngOnInit(): void {\n this.listteachers();\n }\n editTeacher(data: any, $event: any) {\nconsole.log(data);\n\n const req = {\n Id: data.data.Id,\n Names: data.data.FullName,\n Email: data.data.Email,\n MobileNo: data.data.PhoneNumber,\n DiscountCategory:data.data.DiscountCategory.toString(),\n BlockOrders:data.data.BlockOrders,\n }\n this.openTeacherDialog(req);\n\n }\n addTeacher() {\n this.openTeacherDialog(null);\n }\n viewDiscount(data: any, $event: any) {\n const req = {\n Id: data.data.Id,\n CategoryId: 2,\n Names:data.data.FullName\n }\n\n this.openDialogDiscount(req);\n }\n listteachers() {\n this.loading = true;\n this.appService.TeacherList()\n .subscribe({\n next: (data) => {\n const body = JSON.parse(JSON.stringify(data));\n this.dataSource = body;\n this.loading = false;\n\n\n },\n error: (e) => {\n this.loading = false;\n },\n complete: () => {\n this.loading = false;\n }\n })\n }\n addFunds(data: any, $event: any) {\n const req = {\n Id: data.data.Id,\n CategoryId: 2,\n Names:data.data.FullName\n }\n\n this.openDialogFunds(req);\n }\n public openTeacherDialog(data: any | null) {\n const dialogRef = this.appService.openDialog(TeacherDialogComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n\n if (dat != null) {\n const req = {\n Id: dat.Id,\n Email: dat.Email,\n FullName: dat.Names,\n MobileNo: dat.MobileNo,\n BlockOrders: dat.BlockOrders,\n DiscountCategory: dat.DiscountCategory,\n DoneBy: username\n }\n\n this.loading = true;\n this.appService.Teacher(req)\n .subscribe({\n next: (data) => {\n this.loading = false;\n if (data === \"\") {\n\n this.snackBar.open('Teacher saved successfully, and email sent to teacher with login details.', '×', { panelClass: 'success', verticalPosition: 'top', duration: 6000 });\n this.listteachers();\n } else {\n\n if (data != null)\n this.snackBar.open(data.toString(), '×', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n }\n\n },\n error: (e) => {\n this.loading = false;\n\n this.snackBar.open(e.error, 'X', { panelClass: 'error', verticalPosition: 'top', duration: 4000 });\n },\n complete: () => {\n this.loading = false;\n }\n });\n }\n });\n\n }\n public openDialogDiscount(data: any | null) {\n const dialogRef = this.appService.openDialog(DiscountsComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n let username: string = \"\";\n if (localStorage.getItem('TamuApp')) {\n\n const TamuApp = JSON.parse(this.encrypt.Decrypt(localStorage.getItem('TamuApp')));\n username = TamuApp.Username;\n }\n\n\n\n });\n\n }\n onExporting(e) {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet('Employees');\n\n exportDataGrid({\n component: e.component,\n worksheet,\n autoFilterEnabled: true,\n }).then(() => {\n workbook.xlsx.writeBuffer().then((buffer) => {\n saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'Report.xlsx');\n });\n });\n e.cancel = true;\n }\n public openDialogFunds(data: any | null) {\n const dialogRef = this.appService.openDialog(FundsComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n \n this.listteachers();\n\n });\n\n }\n public openDialogAlert(data: any | null) {\n const dialogRef = this.appService.openDialog(SendalertDialogComponent, data, 'theme-dialog');\n dialogRef.afterClosed().subscribe(dat => {\n \n\n });\n\n }\n sendAlerts() {\n const req = {\n CategoryId: 2\n }\n this.openDialogAlert(req);\n }\n \n}\n","<div fxLayout=\"row wrap\" fxLayoutAlign=\"left\" class=\"w-100 p-1\">\n <div fxFlex=\"100\" fxFlex.gt-sm=\"25\" class=\"px-3\" ngClass.sm=\"mt-1\" ngClass.xs=\"mt-1\">\n <button mat-raised-button color=\"primary\" type=\"button\" class=\"uppercase\" (click)=\"addTeacher()\">Add\n Teacher</button>\n </div>\n\n <mat-divider></mat-divider>\n\n <dx-data-grid id=\"gridContainer\" [dataSource]=\"dataSource\" [rowAlternationEnabled]=\"true\" [showBorders]=\"true\"\n [showRowLines]=\"true\" [columnHidingEnabled]=\"true\" width=\"100%\"\n (onExporting)=\"onExporting($event)\"\n >\n <dxo-paging [pageSize]=\"5\"></dxo-paging>\n <dxo-pager [visible]=\"true\" [allowedPageSizes]=\"[5, 10,20,50, 'all']\" [displayMode]=\"'full'\"\n [showPageSizeSelector]=\"true\" [showInfo]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\n <dxo-scrolling columnRenderingMode=\"virtual\"></dxo-scrolling>\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-export [enabled]=\"true\" [formats]=\"['Excel']\" [allowExportSelectedData]=\"true\"></dxo-export>\n <dxi-column dataField=\"Id\" caption=\"Id\" width=\"70\"></dxi-column>\n <dxi-column dataField=\"FullName\" caption=\"Names\"></dxi-column>\n <dxi-column dataField=\"Email\" caption=\"Email\" width=\"200\"></dxi-column>\n <dxi-column dataField=\"PhoneNumber\" caption=\"PhoneNumber\" width=\"120\"></dxi-column>\n <dxi-column dataField=\"AccountBalance\" caption=\"AccountBalance\" width=\"120\">\n <dxo-format\n type=\"fixedPoint\"\n [precision]=\"2\">\n </dxo-format>\n </dxi-column>\n <dxi-column dataField=\"BlockOrders\" caption=\"BlockOrders\"></dxi-column>\n <dxi-column dataField=\"DiscountCategory\" caption=\"DiscountCategory\" [visible]=\"false\"></dxi-column>\n <dxi-column dataField=\"DateCreated\" caption=\"DateCreated\" width=\"120\"></dxi-column>\n <dxi-column dataField=\"CreatedBy\" caption=\"DoneBy\" width=\"150\"></dxi-column>\n <dxi-column caption=\"\" [width]=\"110\" [allowFiltering]=\"false\" [allowSorting]=\"false\" cellTemplate=\"actions\"\n [fixed]=\"true\" fixedPosition=\"right\"></dxi-column>\n <div *dxTemplate=\"let data of 'actions'\">\n \n \n <button class=\"gridbutton\" (click)=\"viewDiscount(data,$event)\" matTooltip=\"View Discounts\" >\n <mat-icon color=\"primary\">library_add</mat-icon>\n </button>\n \n <button class=\"gridbutton\" (click)=\"addFunds(data,$event)\" matTooltip=\"Add Funds\">\n <mat-icon color=\"primary\">note_add</mat-icon>\n \n </button>\n <button class=\"gridbutton\" (click)=\"editTeacher(data,$event)\" matTooltip=\"Edit Teacher\">\n <mat-icon color=\"primary\">edit</mat-icon>\n </button>\n </div>\n </dx-data-grid>\n \n<!-- <div fxLayout=\"row wrap\" fxLayoutAlign=\"right\" style=\"margin-top: 10px;\">\n \n <button mat-raised-button color=\"primary\" type=\"button\" class=\"uppercase\" (click)=\"sendAlerts()\">\n Send Accounts Alerts </button>\n\n </div> -->\n\n <div class=\"overlay\" *ngIf=\"loading\">\n <div class=\"center\">\n <mat-spinner *ngIf=\"loading\"></mat-spinner>\n </div>\n \n </div>"],"names":["CommonModule","RouterModule","SharedModule","NgxMatIntlTelInputComponent","MAT_DATE_LOCALE","ParentsComponent","TeachersComponent","ParentDialogComponent","TeacherDialogComponent","AddstudentDialogComponent","DiscountsComponent","FundsComponent","AuthGuard","SendalertDialogComponent","OverdrawnComponent","ArchivedComponent","ManualpostComponent","routes","path","redirectTo","pathMatch","component","data","breadcrumb","canActivate","AccountsModule","provide","useValue","imports","forChild","declarations","i1","exportDataGrid","Workbook","saveAs","moment","i0","constructor","appService","snackBar","encrypt","Date","today","toDate","toLocaleString","timeZone","DateFrom","ngOnInit","listArchivedAccounts","loading","req","format","ArchivedAccountBalancesList","subscribe","next","body","JSON","parse","stringify","dataSource","error","e","complete","onExporting","workbook","worksheet","addWorksheet","autoFilterEnabled","then","xlsx","writeBuffer","buffer","Blob","type","cancel","openDialogAlert","dialogRef","openDialog","afterClosed","dat","dataGrid","instance","deselectAll","unarchiveAccount","$event","username","localStorage","getItem","TamuApp","Decrypt","Username","message","getTranslateValue","openConfirmDialog","dialogResult","AccountId","CategoryId","Category","DoneBy","console","log","UndoArchiveAccount","open","panelClass","verticalPosition","duration","toString","selectors","viewQuery","ctx","MAT_DIALOG_DATA","fb","loadDiscounts","loadMemberDiscounts","Names","ShowDiscountsByCategory","discounts","MemberId","Id","DiscountMember","DiscountSelected","value","selectedDiscount","addParticipant","Req","DiscountId","push","DiscountMembers","deleteMember","DeleteMembers","decls","vars","consts","template","Validators","wDate","dDay","getDay","first","getDate","firstDayWeek","setDate","lastDayWeek","DateTo","form","group","TransDate","required","Reference","Amount","pattern","getRefTypes","loadTransactions","onSubmit","valid","req1","TransType","DebitAmount","CreditAmount","req2","CustomerAccounts","reset","RefTypes","References","FilterByDate","event","reverseTransaction","ReverseAccounts","CustomerAccountsList","calculateSelectedRow","options","name","summaryProcess","totalValue","_r0","pdfMake","ListOrders","id","ManualPostedReport","obj","dd","pageSize","pageOrientation","footer","currentPage","pageCount","table","widths","colSpan","text","alignment","margin","layout","content","style","canvas","x1","y1","x2","y2","lineWidth","headerRows","map","p","Fullname","Status","styles","header","fontSize","bold","color","subheader","createPdf","viewReport","listAccounts","onChangeCategory","dataSourcefitered","filter","item","Balance","AccountBalancesList","disableAccount","DisableAccounts","archiveAccount","ArchiveAccount","sendAlerts","getVisibleRows","length","selectedRowsData","getSelectedRowKeys","selectAll","x","studentId","names","grade","loadStudents","keyupStudentId","key","VerifyStudentId","verified","onFocusOutStudentId","studentid","StudentId","VerifyStudentIdUnMasked","student","Surname","Othernames","Grade","patchValue","deleteStudent","RemoveParentStudent","dt","ParentStudentById","students","ParentId","AdminStudentRegister","emailValidator","Email","compose","AltEmail","email","MobileNo","BlockOrders","DiscountCategory","close","ctx_r0","ref","gridBox_displayExpr","ParentName","openDialogReport","StudentOrderList","detectChanges","onGridBoxOptionChanged","isGridBoxOpened","str1","parent","substring","indexOf","fitereddataSource","listparents","editClient","openParentDialog","AddStudent","openDialogStudent","addParent","viewDiscount","openDialogDiscount","addFunds","openDialogFunds","ParentList","FullName","AlternateEmail","Parent","SendAlerts","total","count","progress","forEach","element","AccountOption","StatementPeriod","Attachment","Attach","AccountAlertDetails","sendingname","listteachers","editTeacher","PhoneNumber","openTeacherDialog","addTeacher","TeacherList","Teacher"],"sourceRoot":"webpack:///"}