Commit b1304615 authored by Sandeep Sagar Panjala's avatar Sandeep Sagar Panjala

initial commit

parent e8b6fcab
namespace Hims.Infrastructure.Services.Middleware
{
using Domain.Services;
using Microsoft.Extensions.DependencyInjection;
/// <summary>
/// The IOC container middle ware.
/// </summary>
public static class IocContainerMiddleware
{
/// <summary>
/// The register services.
/// </summary>
/// <param name="services">
/// The services.
/// </param>
/// <returns>
/// The <see cref="IServiceCollection"/>.
/// </returns>
public static IServiceCollection RegisterBusinessServices(this IServiceCollection services)
{
services.AddTransient<ICounsellingService, CounsellingServices>();
services.AddTransient<INurseNoteService, NurseNoteService>();
services.AddTransient<IAppointmentCheckService, AppointmentCheckService>();
services.AddTransient<IQueueService, QueueServices>();
services.AddTransient<IProgressReportNoteService, ProgressReportNoteService>();
services.AddTransient<IProgressReportLabService, ProgressReportLabService>();
services.AddTransient<IProgressReportService, ProgressReportService>();
services.AddTransient<IPackageService, PackageService>();
services.AddTransient<IChargeManagementService, ChargeManagementService>();
services.AddTransient<IBedManagementService, BedManagementService>();
services.AddTransient<IBedBoardListViewService, BedBoardListViewService>();
services.AddTransient<IMenuService, MenuService>();
services.AddTransient<IDischargeService, DischargeService>();
services.AddTransient<ICompanyService, CompanyServices>();
services.AddTransient<IFinalBillService, FinalBillService>();
services.AddTransient<IReceiptService, ReceiptService>();
services.AddTransient<IServiceOrderService, ServiceOrderService>();
services.AddTransient<ITimelineService, TimelineService>();
services.AddTransient<IAdmissionService, AdmissionServices>();
services.AddTransient<IWebTelemedicineService, WebTelemedicineServices>();
services.AddTransient<IPatientDeviceDetailsService, PatientDeviceDetailsServices>();
services.AddTransient<IDoctorDeviceDetailsService, DoctorDeviceDetailsServices>();
services.AddTransient<IVideoCallHistoryService, VideoCallHistoryServices>();
services.AddTransient<IUserService, UserServices>();
services.AddTransient<IAuditLogService, AuditLogServices>();
services.AddTransient<IResourceService, ResourceServices>();
services.AddTransient<IReportService, ReportServices>();
services.AddTransient<IServiceService, ServiceServices>();
services.AddTransient<ISpecializationService, SpecializationServices>();
services.AddTransient<ICountryService, CountryServices>();
services.AddTransient<ICouponService, CouponServices>();
services.AddTransient<IRoleService, RoleServices>();
services.AddTransient<IDischargeInstructionService, DischargeInstructionService>();
services.AddTransient<IWardService, WardService>();
services.AddTransient<IRoomService, RoomService>();
services.AddTransient<IDepartmentService, DepartmentService>();
services.AddTransient<IChargeGroupService, ChargeGroupService>();
services.AddTransient<IChargeService, ChargeService>();
services.AddTransient<IBedService, BedService>();
services.AddTransient<IInsuranceCompanyService, InsuranceCompanyServices>();
services.AddTransient<IAccountService, AccountServices>();
services.AddTransient<IAccountSessionService, AccountSessionServices>();
services.AddTransient<IAccountCredentialService, AccountCredentialServices>();
services.AddTransient<IAppointmentTransactionService, AppointmentTransactionServices>();
services.AddTransient<IProviderService, ProviderServices>();
services.AddTransient<IProviderEncounterService, ProviderEncounterServices>();
services.AddTransient<ILabOrderValueService, LabOrderValueService>();
services.AddTransient<IProviderLocationService, ProviderLocationServices>();
services.AddTransient<IProviderLeaveService, ProviderLeaveServices>();
services.AddTransient<IProviderDocumentService, ProviderDocumentServices>();
services.AddTransient<IPatientService, PatientServices>();
services.AddTransient<IPatientDocumentService, PatientDocumentServices>();
services.AddTransient<IPatientInsuranceService, PatientInsuranceServices>();
services.AddTransient<IPatientEmergencyService, PatientEmergencyServices>();
services.AddTransient<IAppointmentService, AppointmentServices>();
services.AddTransient<IAppointmentLogService, AppointmentLogServices>();
services.AddTransient<IAppointmentExceptionLogService, AppointmentExceptionLogServices>();
services.AddTransient<IEncounterService, EncounterService>();
services.AddTransient<IPracticeService, PracticeServices>();
services.AddTransient<IUserService, UserServices>();
services.AddTransient<IInternalMedicineService, InternalMedicineServices>();
services.AddTransient<IBehavioralHealthService, BehavioralHealthService>();
services.AddTransient<ITicketService, TicketServices>();
services.AddTransient<IChatService, ChatService>();
services.AddTransient<IGeneralAdviceService, GeneralAdviceServices>();
services.AddTransient<IExportService, ExportServices>();
services.AddTransient<IPayUService, PayUService>();
services.AddTransient<IProviderBankAccountService, ProviderBankAccountServices>();
services.AddTransient<IValidatorService, ValidatorServices>();
services.AddTransient<IIcdService, IcdCodeServices>();
services.AddTransient<IHomeopathyService, HomeopathyServices>();
services.AddTransient<IDentalEncounterService, DentalEncounterServices>();
services.AddTransient<IProblemListService, ProblemListServices>();
services.AddTransient<ILabOrderService, LabOrderService>();
services.AddTransient<IRadiologyService, RadiologyService>();
services.AddTransient<IRadiologyValueService, RadiologyValueService>();
services.AddTransient<ILanguageService, LanguageServices>();
services.AddTransient<IIconService, IconService>();
services.AddTransient<IMessageService, MessageService>();
services.AddTransient<IWalletService, WalletServices>();
services.AddTransient<IExceptionLogService, ExceptionLogServices>();
services.AddTransient<IFeedbackService, FeedbackServices>();
services.AddTransient<IInventoryService, InventoryServices>();
services.AddTransient<ISupplierService, SupplierServices>();
services.AddTransient<ICompanyService, CompanyServices>();
services.AddTransient<IIndentService, IndentServices>();
services.AddTransient<IIssueService, IssueServices>();
services.AddTransient<IPharmacyService, PharmacyServices>();
services.AddTransient<IPharmacyRequestService, PharmacyRequestServices>();
services.AddTransient<ILaboratoryService, LaboratoryServices>();
services.AddTransient<ILaboratoryPackageService, LaboratoryPackageServices>();
services.AddTransient<ISmsLogService, SmsLogservice>();
services.AddTransient<IPharmacyLogService, PharmacyLogServices>();
services.AddTransient<ILaboratoryDashboardService, LaboratoryDashboardService>();
services.AddTransient<IInventoryLogService, InventoryLogServices>();
services.AddTransient<ILabLogService, LabLogServices>();
services.AddTransient<IScanLogService, ScanLogServices>();
services.AddTransient<IExcelUploadHistoryService, ExcelUploadHistoryServices>();
services.AddTransient<IDashboardWidgetService, DashboardWidgetServices>();
services.AddTransient<IDynamicReportService, DynamicReportServices>();
services.AddTransient<IDynamicDashboardService, DynamicDashboardService>();
services.AddTransient<IVisitTypeService, VisitTypeService>();
services.AddTransient<IChargeTypesService, ChargeTypesService>();
services.AddTransient<IFloorService, FloorService>();
services.AddTransient<IInsuranceAdmissionService, InsuranceAdmissionServices>();
services.AddTransient<INurseModuleService, NurseModuleServices>();
services.AddTransient<INurseShiftService, NurseShiftService>();
services.AddTransient<IVitalTypeService, VitalTypeService>();
services.AddTransient<IProgressReportVitalsService, ProgressReportVitalsService>();
services.AddTransient<IProgressReportAssessmentsService, ProgressReportAssessmentsService>();
services.AddTransient<IUnitTypeService, UnitTypeService>();
services.AddTransient<IDiscountManagementService, DiscountManagementServices>();
services.AddTransient<IAssessmentTypeService, AssessmentTypeService>();
services.AddTransient<IPharmacyTrackingService, PharmacyTrackingServices>();
services.AddTransient<IOperationService, OperationServices>();
services.AddTransient<IDemandBookService, DemandBookService>();
services.AddTransient<IModulesMasterService, ModulesMasterService>();
services.AddTransient<IPharmacyWareHouseService, PharmacyWareHouseServices>();
services.AddTransient<IMealTypesService, MealTypesService>();
services.AddTransient<IProgressReportDietService, ProgressReportDietService>();
services.AddTransient<IGynEncounterService, GynEncounterServices>();
services.AddTransient<IEmployeeShiftService, EmployeeShiftServices>();
services.AddTransient<ILeaveTypeService, LeaveTypeServices>();
services.AddTransient<IOBEncounterService, OBEncounterServices>();
services.AddTransient<IProviderScheduleService, ProviderScheduleService>();
services.AddTransient<IHwcPatientService, HwcPatientServices>();
services.AddTransient<IScanTestService, ScanTestService>();
services.AddTransient<IChargeCategoryService, ChargeCategoryService>();
services.AddTransient<IScanMachineService, ScanMachineService>();
services.AddTransient<ILabDepartmentService, LabDepartmentServices>();
services.AddTransient<IReferenceTypesServices, ReferenceTypesServices>();
services.AddTransient<IPayTypeService, PayTypeServices>();
services.AddTransient<IScanMachineAvailabilityService, ScanMachineAvailabilityService>();
services.AddTransient<IPharmacyDepartmentService, PharmacyDepartmentServices>();
services.AddTransient<IPatientEncounterService, PatientEncounterServices>();
services.AddTransient<IWebNotificationService, WebNotificationServices>();
services.AddTransient<IBookScanAppointmentService, BookScanAppointmentService>();
services.AddTransient<ISettingService, SettingServices>();
services.AddTransient<IScanClassificationService, ScanClassificationService>();
services.AddTransient<IScanSubClassificationService, ScanSubClassificationService>();
services.AddTransient<IInventoryStoreService, InventoryStoreServices>();
services.AddTransient<IProviderMedicationService, ProviderMedicationServices>();
services.AddTransient<IOrderPrescriptionService, OrderPrescriptionService>();
services.AddTransient<ILabsService, LabsServices>();
services.AddTransient<IAppointmentTypesService, AppointmentTypesService>();
services.AddTransient<IMachineService, MachineService>();
services.AddTransient<IDynamicTemplateService, DynamicTemplateService>();
services.AddTransient<ILabTransactionService, LabTransactionServices>();
services.AddTransient<IIdProofService, IdProofService>();
services.AddTransient<IPayCategoryService, PayCategoryServices>();
services.AddTransient<ISalutationService, SalutationService>();
services.AddTransient<IComponentTypeService, ComponentTypeService>();
services.AddTransient<IComponentService, ComponentService>();
services.AddTransient<ITemplateService, TemplateService>();
services.AddTransient<IReferralDoctorService, ReferralDoctorService>();
services.AddTransient<IProviderScheduleChargesService, ProviderSchduleChargesService>();
services.AddTransient<IConsultationTypeService, ConsultationTypeService>();
services.AddTransient<IProviderAvailabilityService, ProviderAvailabilityServices>();
services.AddTransient<IProviderScheduleVisitsService, ProviderSchduleVisitsService>();
services.AddTransient<ICubicleService, CubicleService>();
services.AddTransient<IIvfEncounterServices, IvfEncounterServices>();
services.AddTransient<IWorkingHourService, WorkingHourServices>();
services.AddTransient<IEncounterTypeService, EncounterTypeService>();
services.AddTransient<ISessionTypeService, SessionTypeServices>();
services.AddTransient<ISessionService, SessionService>();
services.AddTransient<IUserExcelHistoryService, UserExcelHistoryService>();
services.AddTransient<IPaymentInitiationLogService, PaymentInitiationLogService>();
services.AddTransient<IPatientChatBoxService, PatientChatBoxService>();
services.AddTransient<IChargeModuleService, ChargeModuleServices>();
services.AddTransient<IPaymentMapHelperService, PaymentMapHelperService>();
services.AddTransient<IOTRoomAvailabilityService, OTRoomAvailabilityService>();
services.AddTransient<IOTRegisterService, OTRegisterService>();
services.AddTransient<ICaseTypeService, CaseTypeServices>();
services.AddTransient<IPackageModuleService, PackageModuleServices>();
services.AddTransient<IPatientExcelHistoryService, PatientExcelHistoryService>();
services.AddTransient<IDoctorUnitService, DoctorUnitService>();
services.AddTransient<IDoctorScheduleVisitsService, DoctorScheduleVisitsService>();
services.AddTransient<IDynamicTemplateConfigService, DynamicTemplateConfigService>();
services.AddTransient<IHealthCardService, HealthCardService>();
services.AddTransient<IAmbulanceService, AmbulanceService>();
services.AddTransient<IDriverDetailService, DriverDetailService>();
services.AddTransient<IAmbulanceRecieptService, AmbulanceRecieptService>();
services.AddTransient<IPediatricEncounterService, PediatricEncounterServices>();
services.AddTransient<IReasonsService, ReasonsService>();
services.AddTransient<IAuthorityMasterService, AuthorityMasterService>();
services.AddTransient<IInitialVendorService, InitialVendorServices>();
services.AddTransient<IEncounterTemplateService, EncounterTemplateServices>();
services.AddTransient<IVaccineService, VaccineServices>();
services.AddTransient<IGatePassService, GatePassService>();
services.AddTransient<IMasterBillService, MasterBillService>();
services.AddTransient<IDietEncounterService, DietEncounterService>();
services.AddTransient<IDietGuidLinesService, DietGuidLinesService>();
services.AddTransient<IRelationsService, RelationsService>();
services.AddTransient<IDoctorAppointmentNoticeService, DoctorAppointmentNoticeService>();
services.AddTransient<IPediatricChartService, PediatricChartServices>();
services.AddTransient<IGeneralNotificationService, GeneralNotificationServices>();
services.AddTransient<IScanAppointmentNoticeService, ScanAppointmentNoticeService>();
services.AddTransient<ILabVacutainerService, LabVacutainerService>();
services.AddTransient<IEmergencyEncounterService, EmergencyEncounterServices>();
services.AddTransient<IDietSlotsMasterService, DietSlotsMastersServices>();
services.AddTransient<IDietItemsService, DietItemsServices>();
services.AddTransient<IDietConditionHeaderService, DietConditionHeaderServices>();
services.AddTransient<IDenverChartService, DenverChartService>();
services.AddTransient<IBirthCertificateService, BirthCertificateService>();
services.AddTransient<IInPatientsViewService, InPatientsViewServices>();
services.AddTransient<IQuotationService, QuotationServices>();
services.AddTransient<ITpaService, TpaService>();
services.AddTransient<IContactDetailsService, ContactDetailsServices>();
services.AddTransient<IFeedbackDetailsService, FeedbackDetailsServices>();
services.AddTransient<ICallHistoryDataService, CallHistoryServices>();
services.AddTransient<IWhatsAppTicketsService, WhatsAppTicketsService>();
services.AddTransient<IRegisterService, RegisterService>();
services.AddTransient<IPhysiotherapyEncounterService, PhysiotherapyEncounterService>();
services.AddTransient<IInsuranceTemplateService, InsuranceTemplateService>();
services.AddTransient<IGeneticSpecialityEncounterService, GeneticSpecialityEncounterService>();
services.AddTransient<IEncountersLogService, EncountersLogServices>();
return services;
}
}
}
\ No newline at end of file
using Hims.Domain.Repositories.UnitOfWork;
using Hims.Domain.Services;
using Hims.Shared.UserModels;
using Hims.Shared.UserModels.Filters;
using System;
using Hims.Domain.Entities;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Dapper;
using Hims.Shared.UserModels.BedManagement.Floor;
using Hims.Shared.Library;
using System.Collections;
using Hims.Shared.EntityModels;
namespace Hims.Infrastructure.Services
{
/// <inheritdoc />
public class TpaService : ITpaService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IWardService" />
public TpaService(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc/>
public async Task<int> AddTpa(TpaModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""TpaId"") FROM ""Tpa"" WHERE Lower(""Name"") = '{model.Name.ToLower()}'");
if (checkIf > 0)
{
return -2;
}
var tpa = new Tpa();
tpa.Name = model.Name;
tpa.CreatedBy = model.CreatedBy;
tpa.CreatedDate = DateTime.Now;
tpa.Active = true;
var result = await this.unitOfWork.Tpa.InsertAsync(tpa);
if (result >= 1)
{
return result;
}
else
{
return -1;
}
}
/// <inheritdoc/>
public async Task<int> ChangeStatus(TpaModel model)
{
var OldTpa = await this.unitOfWork.Tpa.FindAsync(l => l.TpaId == model.TpaId);
OldTpa.Active = (bool)!model.Active;
Tpa tpa = new Tpa();
tpa.TpaId = (int)model.TpaId;
tpa.Name = model.Name;
tpa.Active = (bool) !model.Active;
tpa.ModifiedBy = model.ModifiedBy;
tpa.ModifiedDate = DateTime.Now;
var result = await this.unitOfWork.Tpa.UpdateAsync(tpa);
if (result >= 1)
{
return result;
}
else
{
return -1;
}
}
/// <inheritdoc/>
public Task<IEnumerable<TpaModel>> GetAllTpa(TpaModel model)
{
string where = "where 1=1 ";
if (!string.IsNullOrEmpty(model.Name))
{
where += $@" and lower(t.""Name"") ilike '%{model.Name.ToLower()}%' ";
}
if (model.Active != null)
{
where += $@" and t.""Active"" = {model.Active}";
}
var Query = $@" select count(*) over () as ""TotalItems"", t.""TpaId"",t.""Name"",t.""Active"",A.""FullName"" as ""CreatedByName"",
t.""CreatedDate"", B.""FullName"" as ""ModifiedByName"",t.""CreatedBy"",t.""ModifiedBy"" , t.""ModifiedDate""
from ""Tpa"" t
join ""Account"" A on A.""AccountId"" = t.""CreatedBy""
left join ""Account"" B on B.""AccountId"" = t.""ModifiedBy"" {where}";
if (model.PageSize != null && model.PageIndex != null)
{
model.PageIndex = model.PageIndex > 0 ? model.PageIndex - 1 : model.PageIndex;
Query += $@" limit {model.PageSize} offset {model.PageIndex * model.PageSize}";
}
return this.unitOfWork.Current.QueryAsync<TpaModel>(Query);
}
/// <inheritdoc/>
public async Task<int> UpdateTpa(TpaModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""TpaId"") FROM ""Tpa"" WHERE Lower(""Name"") = '{model.Name.ToLower()}'");
if (checkIf > 0)
{
return -2;
}
Tpa tpa = new Tpa();
tpa.TpaId = (int)model.TpaId;
tpa.Name = model.Name;
tpa.Active = (bool)model.Active;
tpa.ModifiedBy = model.ModifiedBy;
tpa.ModifiedDate = DateTime.Now;
var result = await this.unitOfWork.Tpa.UpdateAsync(tpa);
if (result >= 1)
{
return result;
}
else
{
return -1;
}
}
}
}
namespace Hims.Infrastructure.Services
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Dapper;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Shared.UserModels.UnitType;
/// <inheritdoc />
public class UnitTypeService : IUnitTypeService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IUnitTypeService" />
public UnitTypeService(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public Task<IEnumerable<ViewModel>> FetchAsync(FilterModel model)
{
var where = " WHERE 1 = 1 ";
if (!string.IsNullOrEmpty(model.Name))
{
where += $@" AND TRIM(UPPER(""Name"")) = '{model.Name.Trim().ToUpper()}'";
}
//if (model.Active != null)
//{
// where += $@" AND ""Active"" IS {((bool)model.Active ? "TRUE" : "FALSE")}";
//}
var query = $@"SELECT COUNT(*) OVER () AS ""TotalItems"", * FROM ""UnitType"" {where} Order by ""UnitTypeId"" DESC";
if (model.PageIndex <= 0)
{
return this.unitOfWork.Current.QueryAsync<ViewModel>(query);
}
model.PageIndex -= 1;
query += " LIMIT " + model.PageSize + " offset " + (model.PageIndex * model.PageSize);
return this.unitOfWork.Current.QueryAsync<ViewModel>(query);
}
/// <inheritdoc />
public async Task<int> AddAsync(InsertModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UnitTypeId"") FROM ""UnitType"" WHERE TRIM(UPPER(""Name"")) = '{model.Name.ToUpper().Trim()}'");
if (checkIf > 0)
{
return -1;
}
var unitType = new UnitType
{
Name = model.Name,
Min = model.Min,
Max = model.Max,
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
};
return await this.unitOfWork.UnitType.InsertAsync(unitType);
}
/// <inheritdoc />
public async Task<int> UpdateAsync(UpdateModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UnitTypeId"") FROM ""UnitType"" WHERE TRIM(UPPER(""Name"")) = '{model.Name.ToUpper().Trim()}' AND ""UnitTypeId"" <> {model.UnitTypeId}");
if (checkIf > 0)
{
return -1;
}
var unitType = await this.unitOfWork.UnitType.FindAsync(m => m.UnitTypeId == model.UnitTypeId);
unitType.Name = model.Name;
unitType.ModifiedBy = model.ModifiedBy;
unitType.ModifiedDate = DateTime.Now;
return await this.unitOfWork.UnitType.UpdateAsync(unitType);
}
/// <inheritdoc />
public async Task<int> DeleteAsync(DeleteModel id)
{
var response = await this.unitOfWork.UnitType.DeleteAsync(x => x.UnitTypeId == id.UnitTypeId);
return response ? 1 : -1;
}
public async Task<string> FindNameByUnitTypeId(int id)
{
var query = $@"SELECT ""Name"" FROM ""UnitType"" WHERE ""UnitTypeId"" = {id}";
var response = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<string>(query);
return response;
}
}
}
\ No newline at end of file
namespace Hims.Infrastructure.Services
{
using System;
using System.Threading.Tasks;
using System.Collections.Generic;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Shared.EntityModels;
using Dapper;
using Hims.Shared.UserModels.UserExcel;
/// <inheritdoc />
public class UserExcelHistoryService : IUserExcelHistoryService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IExcelUploadHistoryService" />
public UserExcelHistoryService(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public async Task<IEnumerable<ExcelUploadHistoryModel>> FetchAllAsync(ExcelUploadHistoryModel model)
{
var where = "where 1=1 ";
if (!string.IsNullOrEmpty(model.TypeOf))
{
where += $@" and EUH.""TypeOf"" ='{model.TypeOf}'";
}
var query = $@" Select count(EUH.*) over() as ""TotalItems"",EUH.*, A.""FullName"" as ""UploadedByName"", l.""Name"" as ""LocationName"" from ""ExcelUploadHistory"" EUH
join ""Account"" A on A.""AccountId"" = EUH.""UploadedBy""
left join ""Location"" l on l.""LocationId"" = EUH.""LocationId""
{where}
order by ""CreatedDate"" desc";
if (model.PageIndex != null && model.PageSize != null)
{
model.PageIndex = model.PageIndex > 0 ? model.PageIndex - 1 : model.PageIndex;
query += $@" limit {model.PageSize} offset {model.PageSize * model.PageIndex}";
}
return await this.unitOfWork.Current.QueryAsync<ExcelUploadHistoryModel>(query);
}
/// <inheritdoc />
public async Task<UserExcelHistoryModel> GetSingleExcelHistory(int userExcelHistoryId)
{
var data = await this.unitOfWork.UserExcelHistory.FindAsync(m => m.UserExcelHistoryId == userExcelHistoryId);
return new UserExcelHistoryModel
{
CreatedDate = data.CreatedDate,
UserExcelHistoryId = data.UserExcelHistoryId,
SheetName = data.SheetName,
//SheetType = data.SheetType,
UploadedBy = data.UploadedBy
};
}
public async Task<int> ModifyExcelUploadAsync(UserExcelHistoryModel model)
{
var upload = new UserExcelHistory
{
CreatedDate = DateTime.UtcNow.AddMinutes(330),
SheetName = model.SheetName,
UploadedBy = model.UploadedBy,
LocationId = model.LocationId,
AddedUsers = model.AddedUsers,
};
if(model.UserExcelHistoryId == 0)
{
return await this.unitOfWork.UserExcelHistory.InsertAsync(upload);
}
else
{
var previousRecord = await this.unitOfWork.UserExcelHistory.FindAsync(m => m.UserExcelHistoryId == model.UserExcelHistoryId);
var completeUserList = previousRecord.AddedUsers + "," + upload.AddedUsers;
previousRecord.AddedUsers = completeUserList;
await this.unitOfWork.UserExcelHistory.UpdateAsync(previousRecord);
return previousRecord.UserExcelHistoryId;
}
}
public async Task<IEnumerable<UserExcelHistoryModel>> FetchAllAsync(UserExcelHistoryModel model)
{
var where = "where 1=1 ";
var query = $@" Select count(UEH.*) over() as ""TotalItems"",UEH.*, A.""FullName"" as ""UploadedByName"", l.""Name"" as ""LocationName"" from ""UserExcelHistory"" UEH
join ""Account"" A on A.""AccountId"" = UEH.""UploadedBy""
left join ""Location"" l on l.""LocationId"" = UEH.""LocationId""
{where}
order by ""CreatedDate"" desc";
if (model.PageIndex != null && model.PageSize != null)
{
model.PageIndex = model.PageIndex > 0 ? model.PageIndex - 1 : model.PageIndex;
query += $@" limit {model.PageSize} offset {model.PageSize * model.PageIndex}";
}
return await this.unitOfWork.Current.QueryAsync<UserExcelHistoryModel>(query);
}
}
}
\ No newline at end of file
namespace Hims.Infrastructure.Services
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Dapper;
using Domain.Configurations;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Shared.DataFilters;
using Shared.EntityModels;
using Shared.Library.Enums;
using Shared.UserModels.Filters;
using Hims.Domain.Helpers;
using System.Linq;
/// <inheritdoc />
public class UserServices : IUserService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <summary>
/// The sha helper.
/// </summary>
private readonly IShaHelper shaHelper;
/// <summary>
/// The running environment.
/// </summary>
private readonly IRunningEnvironment runningEnvironment;
/// <inheritdoc cref="IAmazonS3Configuration" />
public UserServices(IUnitOfWork unitOfWork, IShaHelper shaHelper, IRunningEnvironment runningEnvironment)
{
this.unitOfWork = unitOfWork;
this.shaHelper = shaHelper;
this.runningEnvironment = runningEnvironment;
}
/// <inheritdoc />
public Task<UserModel> FindAsync(int userId)
{
var where = $@" WHERE usr.""UserId"" = '{userId}'";
var query = $@"SELECT usr.""UserId"", usr.""FullName"", usr.""CreatedDate"", usr.""CountryId"", usr.""DateOfBirth"", usr.""Gender"", usr.""Email"", usr.""Active"", usr.""Mobile"",usr.""RoleId"", rl.""RoleName"", usr.""FirstName"", usr.""MiddleName"", usr.""LastName"", usr.""ProviderLocationId"", pra.""FullName"" AS ""PracticeName"",acc.""UserName"",
(CASE WHEN usr.""ThumbnailUrl"" IS NOT NULL THEN CONCAT('{this.runningEnvironment.CurrentEnvironment}','/', usr.""Guid"", '/', usr.""ThumbnailUrl"") ELSE NULL END) AS ""ThumbnailUrl"",
(CASE WHEN usr.""ProfileImageUrl"" IS NOT NULL THEN CONCAT('{this.runningEnvironment.CurrentEnvironment}', '/', usr.""Guid"", '/', usr.""ProfileImageUrl"") ELSE NULL END) AS ""ProfileImageUrl"",
cun.""CountryName"", cun.""CountryCode"", cun.""ISOCode"",
pra.""FullName"" AS ""PracticeName"", CONCAT(c.""CityName"" , ', ', s.""StateName"", ' ', pral.""Zipcode"") AS ""ProviderLocation"", pr.""FullName"" AS ""ProviderName""
FROM ""User"" usr
LEFT JOIN ""Account"" acc ON acc.""ReferenceId"" = usr.""UserId""
LEFT JOIN ""Country"" cun ON cun.""CountryId"" = usr.""CountryId"" AND cun.""Active"" IS TRUE
LEFT JOIN ""ProviderLocation"" prl ON prl.""ProviderLocationId"" = usr.""ProviderLocationId"" AND prl.""Active"" IS TRUE
LEFT JOIN ""PracticeLocation"" pral ON pral.""LocationId"" = prl.""LocationId"" AND pral.""Active"" IS true
left join ""City"" c on c.""CityId"" = pral.""CityId""
left join ""State"" s on s.""StateId"" = pral.""StateId""
LEFT JOIN ""Practice"" pra ON pra.""PracticeId"" = pral.""PracticeId"" AND pra.""Active"" IS TRUE
LEFT JOIN ""Provider"" pr ON pr.""ProviderId"" = prl.""ProviderId"" AND pr.""Active"" IS TRUE
LEFT JOIN ""Role"" rl ON rl.""RoleId"" = usr.""RoleId"" AND rl.""Active"" IS TRUE
{where}";
return this.unitOfWork.Current.QueryFirstOrDefaultAsync<UserModel>(query);
}
/// <inheritdoc />
public async Task<IEnumerable<UserModel>> FetchAsync(UserFilterModel model)
{
var where = " WHERE 1 = 1 ";
if (!string.IsNullOrEmpty(model.FullName))
{
where += $@" AND usr.""FullName"" ILIKE '%{model.FullName}%'";
}
if (model.ProviderId != null)
{
where += $@" AND pr.""ProviderId"" = {model.ProviderId}";
}
if (!string.IsNullOrEmpty(model.Email))
{
where += $@" AND usr.""Email"" ILIKE '%{model.Email}%'";
}
if (!string.IsNullOrEmpty(model.Mobile))
{
where += $@" AND usr.""Mobile"" ILIKE '%{model.Mobile}%'";
}
if (!string.IsNullOrEmpty(model.Username))
{
where += $@" AND act.""UserName"" ILIKE '%{model.Username}%'";
}
if (!string.IsNullOrEmpty(model.CreatedDate))
{
where += $@" AND usr.""CreatedDate""::DATE = '{model.CreatedDate}'::DATE ";
}
if (model.ProviderLocationId != null)
{
where += $@" AND usr.""ProviderLocationId"" = '{model.ProviderLocationId}'";
}
if (model.RoleId != null)
{
where += $@" AND usr.""RoleId"" = '{model.RoleId}'";
}
if (model.CountryId != null)
{
where += $@" AND usr.""CountryId"" = '{model.CountryId}'";
}
if (model.Active != null)
{
where += $@" AND usr.""Active"" IS {((bool)model.Active ? "TRUE" : "FALSE")}";
}
if (model.LocationIds != null)
{
where += $@" AND LAM.""LocationId"" = {model.LocationIds}";
}
if (!string.IsNullOrEmpty(model.BulkUserIds))
{
where += $@" and usr.""UserId"" in ({model.BulkUserIds})";
}
var query = $@"Select COUNT(*) OVER () AS ""TotalItems"",* from (SELECT distinct usr.""UserId"",act.""UserName"", usr.""FullName"", usr.""CreatedDate"",usr.""ModifiedDate"", usr.""CountryId"",
usr.""DateOfBirth"", usr.""Gender"", usr.""Email"", usr.""Active"", usr.""Mobile"",usr.""RoleId"", rl.""RoleName"", usr.""FirstName"", usr.""MiddleName"", usr.""LastName"",
usr.""AddressLine"",act.""FinanceBackground"",act.""ExcelDownload"",act.""RestrictUserLogin"",usr.""EmployeeCode"",
usr.""ProviderLocationId"", pra.""FullName"" AS ""PracticeName"",
(CASE WHEN usr.""ThumbnailUrl"" IS NOT NULL THEN CONCAT('{this.runningEnvironment.CurrentEnvironment}','/', usr.""Guid"", '/', usr.""ThumbnailUrl"") ELSE NULL END) AS ""ThumbnailUrl"",
(CASE WHEN usr.""ProfileImageUrl"" IS NOT NULL THEN CONCAT('{this.runningEnvironment.CurrentEnvironment}', '/', usr.""Guid"", '/', usr.""ProfileImageUrl"") ELSE NULL END) AS ""ProfileImageUrl"",
cun.""CountryName"", cun.""CountryCode"", cun.""ISOCode"", act.""IsLocked"",act.""AccountId"",
pra.""FullName"" AS ""PracticeName"", L.""NameLoc"" AS ""ProviderLocation"", pr.""FullName"" AS ""ProviderName""
, CA.""FullName"" ""CreatedByName"",CR.""RoleName"" ""CreatedByRole"",
MA.""FullName"" ""ModifiedByName"",MR.""RoleName"" ""ModifiedByRole"",
(Select string_agg(R.""RetailPharmacyId""::character varying, ',') as ""RetailIds""
from ""RetailPharmacy"" S
join ""PharmacyRetailUser"" R ON R.""RetailPharmacyId"" = S.""RetailPharmacyId"" and R.""AccountId"" = act.""AccountId"")
,(Select string_agg(S.""RetailName"", ',') as ""RetailNames""
from ""RetailPharmacy"" S
join ""PharmacyRetailUser"" R ON R.""RetailPharmacyId"" = S.""RetailPharmacyId"" and R.""AccountId"" = act.""AccountId"")
,(Select string_agg(l.""NameLoc"", ', ') as ""LocationNames""
from ""LocationAccountMap"" la
join ""Location"" l ON l.""LocationId"" = la.""LocationId"" WHERE la.""AccountId"" = act.""AccountId""),
(Select string_agg(l.""LocationId""::text, ', ') as ""LocationIdentifiers""
from ""LocationAccountMap"" la
join ""Location"" l ON l.""LocationId"" = la.""LocationId"" WHERE la.""AccountId"" = act.""AccountId"")
FROM ""User"" usr
JOIN ""Account"" act ON act.""ReferenceId"" = usr.""UserId"" AND act.""RoleId"" IN ( select ""RoleId"" from ""Role"" where ""RoleId"" not in ({(int)Roles.Provider},{(int)Roles.Patient}))
JOIN ""LocationAccountMap"" LAM ON LAM.""AccountId"" = act.""AccountId""
LEFT JOIN ""Country"" cun ON cun.""CountryId"" = usr.""CountryId"" AND cun.""Active"" IS TRUE
LEFT JOIN ""ProviderLocation"" prl ON prl.""ProviderLocationId"" = usr.""ProviderLocationId"" AND prl.""Active"" IS true
left join ""Location"" L on L.""LocationId"" = prl.""LocationId""
LEFT JOIN ""Practice"" pra ON pra.""PracticeId"" = L.""PracticeId"" AND pra.""Active"" IS TRUE
LEFT JOIN ""Provider"" pr ON pr.""ProviderId"" = prl.""ProviderId"" AND pr.""Active"" IS TRUE
LEFT JOIN ""Role"" rl ON rl.""RoleId"" = usr.""RoleId"" AND rl.""Active"" IS TRUE
JOIN ""Account"" CA on CA.""AccountId"" = usr.""CreatedBy""
JOIN ""Role"" CR on CR.""RoleId"" = CA.""RoleId""
LEFT JOIN ""Account"" MA on MA.""AccountId"" = usr.""ModifiedBy""
LEFT JOIN ""Role"" MR on MR.""RoleId"" = MA.""RoleId""
{where} Order by usr.""CreatedDate"" DESC) A";
if (model.PageIndex <= 0)
{
return await this.unitOfWork.Current.QueryAsync<UserModel>(query);
}
model.PageIndex -= 1;
query += " LIMIT " + model.PageSize + " offset " + (model.PageIndex * model.PageSize);
var users = await this.unitOfWork.Current.QueryAsync<UserModel>(query);
//var userModels = users.ToList();
//try
//{
// foreach (var user in userModels.OrderBy(m => m.UserId))
// {
// if ((!string.IsNullOrEmpty(user.ProfileImageUrl)) && (!string.IsNullOrEmpty(user.ThumbnailUrl)))
// {
// try
// {
// if ((user.ProfileImageUrl.StartsWith("ftp")) && (user.ThumbnailUrl.StartsWith("ftp")))
// {
// user.ProfileImageUrl = await this.documentHelper.FetchImageBase64(user.UserId, user.ProfileImageUrl);
// user.ThumbnailUrl = await this.documentHelper.FetchImageBase64(user.UserId, user.ThumbnailUrl);
// }
// }
// catch (Exception)
// {
// // ignore
// }
// }
// }
//}
//catch (Exception)
//{
// // ignore
//}
return users;
}
/// <inheritdoc />
public async Task<Tuple<int, Guid?>> AddAsync(UserModel model)
{
using (var transaction = this.unitOfWork.BeginTransaction())
{
int checkIf;
if (!string.IsNullOrEmpty(model.Email))
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE UPPER(""Email"") = '{model.Email.ToUpper()}'", null, transaction);
if (checkIf > 0)
{
return new Tuple<int, Guid?>(-1, null);
}
if (model.ProviderLocationId != null && model.ProviderLocationId > 0)
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE UPPER(""Email"") = '{model.Email.ToUpper()}'", null, transaction);
if (checkIf > 0)
{
return new Tuple<int, Guid?>(-1, null);
}
}
}
if (!string.IsNullOrEmpty(model.Mobile))
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE ""Mobile"" = '{model.Mobile}'", null, transaction);
if (checkIf > 0)
{
return new Tuple<int, Guid?>(-2, null);
}
if (model.ProviderLocationId != null && model.ProviderLocationId > 0)
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE ""Mobile"" = '{model.Mobile}'", null, transaction);
if (checkIf > 0)
{
return new Tuple<int, Guid?>(-2, null);
}
}
}
var user = new User
{
Active = true,
RoleId = model.RoleId,
ProviderLocationId = model.ProviderLocationId,
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.UtcNow,
Email = model.Email,
FirstName = model.FirstName,
LastName = model.LastName,
FullName = model.FullName,
MiddleName = model.MiddleName,
Mobile = model.Mobile,
CountryId = model.CountryId,
DateOfBirth = model.DateOfBirth,
Gender = model.Gender,
ModifiedBy = null,
ModifiedDate = null,
Guid = Guid.NewGuid()
};
user.UserId = await this.unitOfWork.Users.InsertAsync(user, transaction);
if (user.UserId == 0)
{
transaction.Rollback();
return new Tuple<int, Guid?>(0, null);
}
var passwordKey = CoreFilter.Random(10);
var existingAccount = await this.unitOfWork.Accounts.FindAsync(m => m.Email == model.Email && m.Mobile == model.Mobile && m.CountryId == model.CountryId, transaction);
if (existingAccount != null && existingAccount.AccountId > 0)
{
passwordKey = existingAccount.SaltKey;
}
var account = new Account
{
RoleId = model.RoleId,
ReferenceId = user.UserId,
SaltKey = passwordKey,
CreatedDate = DateTime.UtcNow,
FullName = user.FullName,
CountryId = user.CountryId,
Email = user.Email,
Mobile = user.Mobile,
Active = true,
Guid = user.Guid,
CreatedBy = model.CreatedBy,
FailedLoginAttempts = 0,
IsAgreed = null,
IsLocked = false,
LastFailedLoginDate = null,
LastLoginDate = null,
ModifiedBy = null,
ModifiedDate = null,
UserName = model.UserName
};
account.AccountId = await this.unitOfWork.Accounts.InsertAsync(account, transaction);
if (account.AccountId == 0)
{
transaction.Rollback();
return new Tuple<int, Guid?>(0, null);
}
foreach (var locationId in model.LocationIds)
{
var location = new LocationAccountMap
{
AccountId = account.AccountId,
LocationId = locationId
};
var locationInsertId = await this.unitOfWork.LocationAccountMap.InsertAsync(location, transaction);
if (locationInsertId == 0)
{
transaction.Rollback();
return new Tuple<int, Guid?>(0, null);
}
}
if (!string.IsNullOrEmpty(model.Password))
{
var passwordHash = this.shaHelper.GenerateHash(model.Password, account.SaltKey);
var query = new AccountsCredential(account, passwordHash).Query;
var inserted = await this.unitOfWork.Current.ExecuteAsync(query, transaction);
if (inserted == 0)
{
transaction.Rollback();
return new Tuple<int, Guid?>(0, null);
}
}
//if (model.RetailIds != null)
//{
// var ids = model.RetailIds.Split(',');
// if (account.AccountId > 0)
// {
// foreach (var id in ids)
// {
// var retailUser = new PharmacyRetailUser
// {
// Active = true,
// CreatedDate = DateTime.UtcNow.AddMinutes(330),
// CreatedBy = (int)model.CreatedBy,
// AccountId = account.AccountId,
// RetailPharmacyId = Convert.ToInt32(id)
// };
// await this.unitOfWork.PharmacyRetailUsers.InsertAsync(retailUser, transaction);
// }
// }
//}
transaction.Commit();
return new Tuple<int, Guid?>(account.AccountId, account.Guid);
}
}
/// <inheritdoc />
public async Task<int> UpdateAsync(UserModel model)
{
try
{
using var transaction = this.unitOfWork.BeginTransaction();
int checkIf;
if (!string.IsNullOrEmpty(model.Email))
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE UPPER(""Email"") = '{model.Email.ToUpper()}' AND ""UserId"" <> '{model.UserId}'", null, transaction);
if (checkIf > 0)
{
return -1;
}
if (model.ProviderLocationId != null && model.ProviderLocationId > 0)
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE UPPER(""Email"") = '{model.Email.ToUpper()}'", null, transaction);
if (checkIf > 0)
{
return -1;
}
}
}
if (!string.IsNullOrEmpty(model.Mobile))
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE ""Mobile"" = '{model.Mobile}' AND ""UserId"" <> '{model.UserId}'", null, transaction);
if (checkIf > 0)
{
return -2;
}
if (model.ProviderLocationId != null && model.ProviderLocationId > 0)
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE ""Mobile"" = '{model.Mobile}'", null, transaction);
if (checkIf > 0)
{
return -2;
}
}
}
var user = await this.unitOfWork.Users.FindAsync(m => m.UserId == model.UserId);
var roleId = user.RoleId;
user.RoleId = model.RoleId;
user.ProviderLocationId = model.ProviderLocationId;
user.ModifiedBy = model.ModifiedBy;
user.ModifiedDate = DateTime.UtcNow.AddMinutes(330);
user.FirstName = model.FirstName;
user.MiddleName = model.MiddleName;
user.LastName = model.LastName;
user.FullName = model.FullName;
user.Email = model.Email;
user.Mobile = model.Mobile;
user.Gender = model.Gender;
user.DateOfBirth = model.DateOfBirth;
user.EmployeeCode = model.EmployeeCode;
if (!string.IsNullOrEmpty(model.Base64ProfileImage))
{
user.ProfileImageUrl = model.ProfileImageUrl;
user.ThumbnailUrl = model.ThumbnailUrl;
}
var updated = await this.unitOfWork.Users.UpdateAsync(user, transaction);
if (updated == 0)
{
transaction.Rollback();
return 0;
}
var account = await this.unitOfWork.Accounts.FindAsync(m => m.RoleId == roleId && m.ReferenceId == user.UserId, transaction);
if (account == null || account.AccountId == 0)
{
transaction.Rollback();
return 0;
}
if (account.Email != user.Email || account.Mobile != user.Mobile || account.CountryId != user.CountryId || account.FullName != user.FullName || account.RoleId != user.RoleId || account.UserName != model.UserName || account.ExcelDownload != model.ExcelDownload || account.RestrictUserLogin != model.RestrictUserLogin || account.FinanceBackground != model.FinanceBackground)
{
account.Email = user.Email;
account.Mobile = user.Mobile;
account.CountryId = user.CountryId;
account.FullName = user.FullName;
account.RoleId = user.RoleId;
account.UserName = model.UserName;
account.ExcelDownload = model.ExcelDownload;
account.RestrictUserLogin = model.RestrictUserLogin;
account.FinanceBackground = model.FinanceBackground;
updated = await this.unitOfWork.Accounts.UpdateAsync(account, transaction);
if (updated == 0)
{
transaction.Rollback();
return 0;
}
}
if (model.RetailIds != null)
{
var receivedRetailIds = model.RetailIds.Split(',');
var query = $@"DELETE from ""PharmacyRetailUser"" where ""AccountId""= {account.AccountId} ";
var res = await this.unitOfWork.Current.QuerySingleOrDefaultAsync(query, transaction);
if (!String.IsNullOrEmpty(receivedRetailIds[0]))
{
if (account.AccountId > 0)
{
foreach (var id in receivedRetailIds)
{
var retailUser = new PharmacyRetailUser
{
Active = true,
CreatedDate = DateTime.UtcNow.AddMinutes(330),
CreatedBy = (int)model.ModifiedBy,
AccountId = account.AccountId,
RetailPharmacyId = Convert.ToInt32(id)
};
await this.unitOfWork.PharmacyRetailUsers.InsertAsync(retailUser, transaction);
}
}
}
}
try
{
var deleteQuerry = $@" Delete from ""LocationAccountMap"" where ""AccountId""= {account.AccountId}";
var res = await this.unitOfWork.Current.ExecuteAsync(deleteQuerry, transaction);
if (res < 0)
{
transaction.Rollback();
return 0;
}
}
catch (Exception)
{
transaction.Rollback();
return -3;
}
foreach (var locationId in model.LocationIds)
{
var location = new LocationAccountMap
{
AccountId = account.AccountId,
LocationId = locationId
};
var locationInsertId = await this.unitOfWork.LocationAccountMap.InsertAsync(location, transaction);
if (locationInsertId == 0)
{
transaction.Rollback();
return 0;
}
}
transaction.Commit();
return updated;
}
catch (Exception e)
{
}
return 0;
}
/// <inheritdoc />
public Task<int> UpdateImageUrlsAsync(UserModel model, Guid guid)
{
var query = $@"UPDATE ""User"" SET ""ProfileImageUrl"" = '{model.ProfileImageUrl}', ""ThumbnailUrl"" = '{model.ThumbnailUrl}' WHERE ""Guid""= '{guid}'";
return this.unitOfWork.Current.ExecuteAsync(query);
}
/// <inheritdoc />
public async Task<int> ModifyStatusAsync(int userId, bool status, int modifiedBy)
{
using (var transaction = this.unitOfWork.BeginTransaction())
{
var query = $@"UPDATE ""User"" SET ""Active"" = {status}, ""ModifiedBy"" = {modifiedBy}, ""ModifiedDate"" = NOW() AT TIME ZONE 'UTC' WHERE ""UserId"" = {userId}";
var updated = await this.unitOfWork.Current.ExecuteAsync(query, transaction);
if (updated == 0)
{
transaction.Rollback();
return 0;
}
query = $@"UPDATE ""Account"" SET ""Active"" = {status}, ""ModifiedBy"" = {modifiedBy}, ""ModifiedDate"" = NOW() AT TIME ZONE 'UTC' WHERE ""ReferenceId"" = {userId} AND ""RoleId"" Not IN ({(int)Roles.Patient}) ;";
updated = await this.unitOfWork.Current.ExecuteAsync(query, transaction);
if (updated == 0)
{
transaction.Rollback();
return 0;
}
transaction.Commit();
return updated;
}
}
/// <inheritdoc />
public async Task<int> LockedStatusAsync(UserModel model)
{
try
{
using (var transaction = this.unitOfWork.BeginTransaction())
{
var query = $@"SELECT * FROM ""Account"" WHERE ""RoleId"" IN (Select ""RoleId"" from ""Role"" where ""RoleId"" not in ({(int)Roles.Provider},{(int)Roles.Patient})) AND ""ReferenceId"" = {model.UserId} ";
var account = await this.unitOfWork.Current.QueryFirstAsync<Account>(query);
if (account == null || account.AccountId == 0)
{
transaction.Rollback();
return 0;
}
account.IsLocked = Convert.ToBoolean(model.IsLocked);
account.ModifiedBy = model.ModifiedBy;
account.ModifiedDate = DateTime.UtcNow;
var updated = await this.unitOfWork.Accounts.UpdateAsync(account, transaction);
if (updated == 0)
{
transaction.Rollback();
return 0;
}
transaction.Commit();
return updated;
}
}
catch (Exception e)
{
throw;
}
}
public async Task<string> FindFullNameByUserId(int userId)
{
var query = $@"SELECT ""FullName"" FROM ""User"" WHERE ""UserId"" = {userId}";
var response = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<string>(query);
return response;
}
/// <inheritdoc />
public async Task<Tuple<int, int, Guid?>> AddFtpAsync(UserModel model)
{
using (var transaction = this.unitOfWork.BeginTransaction())
{
int checkIf;
if (!string.IsNullOrEmpty(model.Email))
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE UPPER(""Email"") = '{model.Email.ToUpper()}'", null, transaction);
if (checkIf > 0)
{
return new Tuple<int, int, Guid?>(-1, checkIf, null);
}
if (model.ProviderLocationId != null && model.ProviderLocationId > 0)
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE UPPER(""Email"") = '{model.Email.ToUpper()}'", null, transaction);
if (checkIf > 0)
{
return new Tuple<int, int, Guid?>(-1, checkIf, null);
}
}
}
if (!string.IsNullOrEmpty(model.Mobile))
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE ""Mobile"" = '{model.Mobile}'", null, transaction);
if (checkIf > 0)
{
return new Tuple<int, int, Guid?>(-2, checkIf, null);
}
if (model.ProviderLocationId != null && model.ProviderLocationId > 0)
{
checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE ""Mobile"" = '{model.Mobile}'", null, transaction);
if (checkIf > 0)
{
return new Tuple<int, int, Guid?>(-2, checkIf, null);
}
}
}
var user = new User
{
Active = true,
RoleId = model.RoleId,
ProviderLocationId = model.ProviderLocationId,
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
Email = model.Email,
FirstName = model.FirstName,
LastName = model.LastName,
FullName = model.FullName,
MiddleName = model.MiddleName,
Mobile = model.Mobile,
CountryId = model.CountryId,
DateOfBirth = model.DateOfBirth,
Gender = model.Gender,
ModifiedBy = null,
ModifiedDate = null,
Guid = Guid.NewGuid(),
AddressLine = model.AddressLine,
EmployeeCode = model.EmployeeCode
};
user.UserId = await this.unitOfWork.Users.InsertAsync(user, transaction);
if (user.UserId == 0)
{
transaction.Rollback();
return new Tuple<int, int, Guid?>(0, 0, null);
}
var passwordKey = CoreFilter.Random(10);
var existingAccount = await this.unitOfWork.Accounts.FindAsync(m => m.Email == model.Email && m.Mobile == model.Mobile && m.CountryId == model.CountryId, transaction);
if (existingAccount != null && existingAccount.AccountId > 0)
{
passwordKey = existingAccount.SaltKey;
}
var account = new Account
{
RoleId = model.RoleId,
ReferenceId = user.UserId,
SaltKey = passwordKey,
CreatedDate = DateTime.Now,
FullName = user.FullName,
CountryId = user.CountryId,
Email = user.Email,
Mobile = user.Mobile,
Active = true,
Guid = user.Guid,
CreatedBy = model.CreatedBy,
FailedLoginAttempts = 0,
IsAgreed = null,
IsLocked = false,
LastFailedLoginDate = null,
LastLoginDate = null,
ModifiedBy = null,
ModifiedDate = null,
UserName = model.UserName,
ExcelDownload = model.ExcelDownload,
RestrictUserLogin = model.RestrictUserLogin,
FinanceBackground = model.FinanceBackground,
};
account.AccountId = await this.unitOfWork.Accounts.InsertAsync(account, transaction);
if (account.AccountId == 0)
{
transaction.Rollback();
return new Tuple<int, int, Guid?>(0, 0, null);
}
foreach (var locationId in model.LocationIds)
{
var location = new LocationAccountMap
{
AccountId = account.AccountId,
LocationId = locationId
};
var locationInsertId = await this.unitOfWork.LocationAccountMap.InsertAsync(location, transaction);
if (locationInsertId == 0)
{
transaction.Rollback();
return new Tuple<int, int, Guid?>(0, 0, null);
}
}
if (!string.IsNullOrEmpty(model.Password))
{
var passwordHash = this.shaHelper.GenerateHash(model.Password, account.SaltKey);
var query = new AccountsCredential(account, passwordHash).Query;
var inserted = await this.unitOfWork.Current.ExecuteAsync(query, transaction);
if (inserted == 0)
{
transaction.Rollback();
return new Tuple<int, int, Guid?>(0, 0, null);
}
}
transaction.Commit();
return new Tuple<int, int, Guid?>(account.AccountId, user.UserId, account.Guid);
}
}
/// <inheritdoc />
public async Task<IEnumerable<UserModel>> FetchAllAsync(UserFilterModel model)
{
var where = " WHERE 1 = 1 ";
if (!string.IsNullOrEmpty(model.BulkUserIds))
{
where += $@" and usr.""UserId"" in ({model.BulkUserIds})";
}
var query = $@"Select COUNT(*) OVER () AS ""TotalItems"",* from (SELECT distinct usr.""UserId"",act.""UserName"", usr.""FullName"", usr.""CreatedDate"",usr.""ModifiedDate"", usr.""CountryId"",
usr.""DateOfBirth"", usr.""Gender"", usr.""Email"", usr.""Active"", usr.""Mobile"",usr.""RoleId"", rl.""RoleName"", usr.""FirstName"", usr.""MiddleName"", usr.""LastName"",
usr.""AddressLine"",act.""FinanceBackground"",act.""ExcelDownload"",act.""RestrictUserLogin"",usr.""EmployeeCode"",
usr.""ProviderLocationId"", pra.""FullName"" AS ""PracticeName"",
(CASE WHEN usr.""ThumbnailUrl"" IS NOT NULL THEN CONCAT('{this.runningEnvironment.CurrentEnvironment}','/', usr.""Guid"", '/', usr.""ThumbnailUrl"") ELSE NULL END) AS ""ThumbnailUrl"",
(CASE WHEN usr.""ProfileImageUrl"" IS NOT NULL THEN CONCAT('{this.runningEnvironment.CurrentEnvironment}', '/', usr.""Guid"", '/', usr.""ProfileImageUrl"") ELSE NULL END) AS ""ProfileImageUrl"",
cun.""CountryName"", cun.""CountryCode"", cun.""ISOCode"", act.""IsLocked"",act.""AccountId"",
pra.""FullName"" AS ""PracticeName"", L.""NameLoc"" AS ""ProviderLocation"", pr.""FullName"" AS ""ProviderName""
, CA.""FullName"" ""CreatedByName"",CR.""RoleName"" ""CreatedByRole"",
MA.""FullName"" ""ModifiedByName"",MR.""RoleName"" ""ModifiedByRole"",
(Select string_agg(R.""RetailPharmacyId""::character varying, ',') as ""RetailIds""
from ""RetailPharmacy"" S
join ""PharmacyRetailUser"" R ON R.""RetailPharmacyId"" = S.""RetailPharmacyId"" and R.""AccountId"" = act.""AccountId"")
,(Select string_agg(S.""RetailName"", ',') as ""RetailNames""
from ""RetailPharmacy"" S
join ""PharmacyRetailUser"" R ON R.""RetailPharmacyId"" = S.""RetailPharmacyId"" and R.""AccountId"" = act.""AccountId"")
,(Select string_agg(l.""NameLoc"", ', ') as ""LocationNames""
from ""LocationAccountMap"" la
join ""Location"" l ON l.""LocationId"" = la.""LocationId"" WHERE la.""AccountId"" = act.""AccountId""),
(Select string_agg(l.""LocationId""::text, ', ') as ""LocationIdentifiers""
from ""LocationAccountMap"" la
join ""Location"" l ON l.""LocationId"" = la.""LocationId"" WHERE la.""AccountId"" = act.""AccountId"")
FROM ""User"" usr
JOIN ""Account"" act ON act.""ReferenceId"" = usr.""UserId""
JOIN ""LocationAccountMap"" LAM ON LAM.""AccountId"" = act.""AccountId""
LEFT JOIN ""Country"" cun ON cun.""CountryId"" = usr.""CountryId"" AND cun.""Active"" IS TRUE
LEFT JOIN ""ProviderLocation"" prl ON prl.""ProviderLocationId"" = usr.""ProviderLocationId"" AND prl.""Active"" IS true
left join ""Location"" L on L.""LocationId"" = prl.""LocationId""
LEFT JOIN ""Practice"" pra ON pra.""PracticeId"" = L.""PracticeId"" AND pra.""Active"" IS TRUE
LEFT JOIN ""Provider"" pr ON pr.""ProviderId"" = prl.""ProviderId"" AND pr.""Active"" IS TRUE
LEFT JOIN ""Role"" rl ON rl.""RoleId"" = usr.""RoleId"" AND rl.""Active"" IS TRUE
JOIN ""Account"" CA on CA.""AccountId"" = usr.""CreatedBy""
JOIN ""Role"" CR on CR.""RoleId"" = CA.""RoleId""
LEFT JOIN ""Account"" MA on MA.""AccountId"" = usr.""ModifiedBy""
LEFT JOIN ""Role"" MR on MR.""RoleId"" = MA.""RoleId""
{where} Order by usr.""CreatedDate"" DESC) A";
if (model.PageIndex <= 0)
{
return await this.unitOfWork.Current.QueryAsync<UserModel>(query);
}
model.PageIndex -= 1;
query += " LIMIT " + model.PageSize + " offset " + (model.PageIndex * model.PageSize);
var users = await this.unitOfWork.Current.QueryAsync<UserModel>(query);
//var userModels = users.ToList();
//try
//{
// foreach (var user in userModels.OrderBy(m => m.UserId))
// {
// if ((!string.IsNullOrEmpty(user.ProfileImageUrl)) && (!string.IsNullOrEmpty(user.ThumbnailUrl)))
// {
// try
// {
// if ((user.ProfileImageUrl.StartsWith("ftp")) && (user.ThumbnailUrl.StartsWith("ftp")))
// {
// user.ProfileImageUrl = await this.documentHelper.FetchImageBase64(user.UserId, user.ProfileImageUrl);
// user.ThumbnailUrl = await this.documentHelper.FetchImageBase64(user.UserId, user.ThumbnailUrl);
// }
// }
// catch (Exception)
// {
// // ignore
// }
// }
// }
//}
//catch (Exception)
//{
// // ignore
//}
return users;
}
}
}
\ No newline at end of file

namespace Hims.Infrastructure.Services
{
using Dapper;
using Hims.Domain.Entities;
using Hims.Domain.Entities.Vaccine;
using Hims.Domain.Repositories.UnitOfWork;
using Hims.Domain.Services;
using Hims.Shared.UserModels.Vaccine;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
public class VaccineServices : IVaccineService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IVaccineService" />
public VaccineServices(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public async Task<int> ModifyVaccineGroupAsync(VaccineGroupModel model)
{
var checkIfQuery = $@"select count(*) from ""VaccineGroup"" where lower(""VaccineGroupName"") = lower('{model.VaccineGroupName}')";
var checkIf = 0;
if (model.VaccineGroupId > 0)
{
checkIfQuery += $@" and ""VaccineGroupId"" <> {model.VaccineGroupId}";
checkIf = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(checkIfQuery);
if (checkIf > 0)
{
return -1;
}
var findOld = await this.unitOfWork.VaccineGroups.FindAsync(x => x.VaccineGroupId == model.VaccineGroupId);
if (findOld == null)
{
return 0;
}
findOld.VaccineGroupName = model.VaccineGroupName;
findOld.ModifiedBy = model.CreatedBy;
findOld.ModifiedDate = DateTime.Now;
findOld.Description = model.Description;
return await this.unitOfWork.VaccineGroups.UpdateAsync(findOld);
}
checkIf = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(checkIfQuery);
if (checkIf > 0)
{
return -1;
}
var iModel = new VaccineGroup
{
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
Description = model.Description,
VaccineGroupName = model.VaccineGroupName
};
return await this.unitOfWork.VaccineGroups.InsertAsync(iModel);
}
/// <inheritdoc />
public async Task<IEnumerable<VaccineGroupModel>> GetAllVaccineGroupsAsync(VaccineGroupModel model)
{
var where = "where 1=1";
if (!string.IsNullOrEmpty(model.VaccineGroupName))
{
where += $@" and vg.""VaccineGroupName"" ilike '{model.VaccineGroupName}'";
}
var query = $@"SELECT vg.""VaccineGroupId"", vg.""VaccineGroupName"", vg.""Description"", vg.""CreatedBy"", vg.""CreatedDate"", vg.""ModifiedBy"", vg.""ModifiedDate"",
cr.""FullName"" as ""CreatedByName"", m.""FullName"" as ""ModifiedByName""
FROM ""VaccineGroup"" vg
left join ""Account"" cr on cr.""AccountId"" = vg.""CreatedBy""
left join ""Account"" m ON m.""AccountId"" =vg.""ModifiedBy""
{where}
order by vg.""CreatedDate"" desc";
return await this.unitOfWork.Current.QueryAsync<VaccineGroupModel>(query);
}
/// <inheritdoc />
public async Task<int> DeleteVaccineGroupAsync(int groupId)
{
var query = $@"delete from ""VaccineGroup"" where ""VaccineGroupId""= {groupId}";
return await this.unitOfWork.Current.ExecuteAsync(query);
}
/// <inheritdoc />
public async Task<int> ModifyVaccineMaster(VaccineMasterModel model)
{
var checkIfQuery = $@"select count(*) from ""VaccineMaster"" where lower(""VaccineName"") = lower('{model.VaccineName}') ";
var checkIf = 0;
if (model.VaccineMasterId > 0)
{
checkIfQuery += $@" and ""VaccineMasterId"" <> {model.VaccineMasterId}";
checkIf = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(checkIfQuery);
if (checkIf > 0)
{
return -1;
}
var findOld = await this.unitOfWork.VaccineMasters.FindAsync(x => x.VaccineMasterId == model.VaccineMasterId);
if (findOld == null)
{
return 0;
}
findOld.ExclusionDays = model.ExclusionDays;
findOld.AllowedLapsDays = model.AllowedLapsDays;
findOld.AllowedDays = model.AllowedDays;
findOld.Order = model.Order;
findOld.DisplayName = model.DisplayName;
findOld.ModifiedBy = model.CreatedBy;
findOld.ModifiedDate = DateTime.Now;
findOld.VaccineInstruction = model.VaccineInstruction;
findOld.VaccineGroupId = model.VaccineGroupId;
findOld.VaccineTypeId = model.VaccineTypeId;
findOld.AllowedType = model.AllowedType;
findOld.VaccineAgeGroupId = model.VaccineAgeGroupId;
return await this.unitOfWork.VaccineMasters.UpdateAsync(findOld);
}
var getOrder = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int?>($@"select ""Order"" from ""VaccineMaster"" order by ""Order"" desc limit 1 ");
var iModel = new VaccineMaster
{
AllowedDays = model.AllowedDays,
AllowedLapsDays = model.AllowedLapsDays,
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
DisplayName = model.DisplayName,
ExclusionDays = model.ExclusionDays,
Order = getOrder != null ? (int)getOrder + 1 : 1,
VaccineInstruction = model.VaccineInstruction,
VaccineGroupId = model.VaccineGroupId,
VaccineName = model.VaccineName,
VaccineTypeId = model.VaccineTypeId,
AllowedType = model.AllowedType,
Active = true,
VaccineAgeGroupId = model.VaccineAgeGroupId
};
return await this.unitOfWork.VaccineMasters.InsertAsync(iModel);
}
/// <inheritdoc />
public async Task<IEnumerable<VaccineMasterModel>> FetchVaccineMastersAsync(VaccineMasterModel model)
{
var where = "where 1=1";
if (!string.IsNullOrEmpty(model.DisplayName))
{
where += $@" and vm.""DisplayName"" ilike '%{model.DisplayName}%'";
}
if (!string.IsNullOrEmpty(model.VaccineName))
{
where += $@" and vm.""VaccineName"" ilike '%{model.VaccineName}%'";
}
if (model.Active != null)
{
where += $@" and vm.""Active"" is {model.Active}";
}
var query = $@"SELECT vm.""VaccineMasterId"", vm.""VaccineGroupId"", vm.""VaccineName"", vm.""DisplayName"", vm.""VaccineInstruction"", vm.""Order"", vm.""VaccineTypeId"", vm.""AllowedDays"",
vm.""Active"",vm.""AllowedType"", vm.""ExclusionDays"", vm.""AllowedLapsDays"", vm.""CreatedBy"", vm.""CreatedDate"", vm.""ModifiedBy"", vm.""ModifiedDate"",
vg.""VaccineGroupName"" , vt.""TypeName"" ,vt.""RowColor"" , cr.""FullName"" as ""CreatedByName"", m.""FullName"" as ""ModifiedByName"",
vm.""VaccineAgeGroupId"", vag.""AgeGroupName""
FROM ""VaccineMaster"" vm
join ""VaccineGroup"" vg ON vg.""VaccineGroupId"" = vm.""VaccineGroupId""
join ""VaccineType"" vt ON vt.""VaccineTypeId"" = vm.""VaccineTypeId""
left join ""VaccineAgeGroup"" vag on vag.""VaccineAgeGroupId"" = vm.""VaccineAgeGroupId""
left join ""Account"" cr on cr.""AccountId"" = vg.""CreatedBy""
left join ""Account"" m ON m.""AccountId"" = vg.""ModifiedBy""
{where}
order by vm.""Order"" asc";
var response = await this.unitOfWork.Current.QueryAsync<VaccineMasterModel>(query);
if (model.PatientId != null && model.PatientId > 0)
{
foreach (var item in response)
{
item.Immunization = new ImmunizationHistoryModel();
var subQuery = $@"select ih.""ImmunizationHistoryId"" , ih.""PharmacyProductId"" , ih.""ProductName"" ,ih.""BillNumber"" ,ih.""BatchNumber"" ,ih.""ExpiryDate"" ,
ih.""CreatedDate"" ,ihc.""FullName"" as ""OrderBy"",ih.""Status"" ,ih.""PatientId"", ih.""VaccineGivenBy"" , ih.""VaccineGivenDate"",
g.""FullName"" as ""VaccineGivenByName""
from ""ImmunizationHistory"" ih
join ""Account"" ihc on ihc.""AccountId"" = ih.""CreatedBy""
left join ""Account"" g on g.""AccountId"" = ih.""VaccineGivenBy""
where ih.""PatientId"" = {model.PatientId} and ih.""VaccineMasterId"" = {item.VaccineMasterId}";
item.Immunization = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<ImmunizationHistoryModel>(subQuery);
}
}
return response;
}
/// <inheritdoc />
public async Task<IEnumerable<VaccineTypeModel>> FetchAllVaccineTypesAsync()
{
var query = $@"select * from ""VaccineType""";
return await this.unitOfWork.Current.QueryAsync<VaccineTypeModel>(query);
}
/// <inheritdoc />
public async Task<int> SetVaccineMasterOrderAsync(List<VaccineMasterModel> model)
{
var response = 0;
foreach (var item in model)
{
var updateQuery = $@"update ""VaccineMaster"" set ""Order"" = {item.Order} where ""VaccineMasterId"" = {item.VaccineMasterId}";
response += await this.unitOfWork.Current.ExecuteAsync(updateQuery);
}
return response;
}
/// <inheritdoc />
public async Task<int> ChangeVaccineActiveStatusAsync(VaccineMasterModel model)
{
var query = $@"update ""VaccineMaster"" set ""Active"" = {model.Active} where ""VaccineMasterId"" = {model.VaccineMasterId}";
return await this.unitOfWork.Current.ExecuteAsync(query);
}
/// <inheritdoc />
public async Task<IEnumerable<VaccineAgeGroupModel>> FetchVaccineAgeGroupAsync()
{
var query = $@"select * from public.""VaccineAgeGroup"" order by 1 asc";
return await this.unitOfWork.Current.QueryAsync<VaccineAgeGroupModel>(query);
}
/// <inheritdoc />
public async Task<int> ModifyVaccinePharmacyLinkAsync(VaccinePharmacyLinkHeaderModel model)
{
var header = new VaccinePharmacyLinkHeader
{
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
PharmacyProductId = model.PharmacyProductId
};
using var transaction = this.unitOfWork.BeginTransaction();
if (model.VaccinePharmacyLinkHeaderId > 0)
{
var findOldHeader = await this.unitOfWork.VaccinePharmacyLinkHeaders.FindAsync(h => h.VaccinePharmacyLinkHeaderId == model.VaccinePharmacyLinkHeaderId);
if (findOldHeader == null)
{
transaction.Rollback();
return -1;
}
findOldHeader.PharmacyProductId = header.PharmacyProductId;
findOldHeader.ModifiedBy = header.CreatedBy;
findOldHeader.ModifiedDate = DateTime.Now;
header.VaccinePharmacyLinkHeaderId = findOldHeader.VaccinePharmacyLinkHeaderId;
var res = await this.unitOfWork.VaccinePharmacyLinkHeaders.UpdateAsync(findOldHeader, transaction);
if (res == 0)
{
transaction.Rollback();
return -1;
}
var deleteQuery = $@"delete from ""VaccinePharmacyLinkDetail"" where ""VaccinePharmacyLinkHeaderId"" = {findOldHeader.VaccinePharmacyLinkHeaderId}";
var delRes = await this.unitOfWork.Current.ExecuteAsync(deleteQuery, transaction);
if (delRes == 0)
{
transaction.Rollback();
return -1;
}
}
else
{
header.VaccinePharmacyLinkHeaderId = await this.unitOfWork.VaccinePharmacyLinkHeaders.InsertAsync(header, transaction);
if (header.VaccinePharmacyLinkHeaderId == 0)
{
transaction.Rollback();
return -1;
}
}
var details = model.Vaccines.Select(d => new VaccinePharmacyLinkDetail
{
VaccineMasterId = d.VaccineMasterId,
VaccinePharmacyLinkHeaderId = header.VaccinePharmacyLinkHeaderId
});
var detRes = await this.unitOfWork.VaccinePharmacyLinkDetails.BulkInsertAsync(details, transaction);
if (detRes == 0)
{
transaction.Rollback();
return -1;
}
transaction.Commit();
return header.VaccinePharmacyLinkHeaderId;
}
/// <inheritdoc />
public async Task<IEnumerable<VaccinePharmacyLinkHeaderModel>> FetchVaccinePharmaLinkAsync(VaccinePharmacyLinkHeaderModel model)
{
var where = "where 1=1";
var headQuery = $@"SELECT count(vh.*) over() as ""TotalItems"", vh.""VaccinePharmacyLinkHeaderId"", vh.""PharmacyProductId"", vh.""CreatedBy"", vh.""CreatedDate"", vh.""ModifiedBy"", vh.""ModifiedDate"",
c.""FullName"" as ""CreatedByName"", m.""FullName"" as ""ModifiedByName"",pp.""ProductName"" ,pp.""GenericName"", cm.""Name"" as ""CompanyName"",
pp.""ExpertAdvice"" ,pp.""CommonSideEffects""
FROM public.""VaccinePharmacyLinkHeader"" vh
join ""PharmacyProduct"" pp on pp.""PharmacyProductId"" = vh.""PharmacyProductId""
join ""Company"" cm on cm.""CompanyId"" = pp.""CompanyId""
join ""Account"" c on c.""AccountId"" = vh.""CreatedBy""
left join ""Account"" m on m.""AccountId"" = vh.""ModifiedBy""
{where}
order by vh.""CreatedDate"" desc";
if (model.PageIndex != null && model.PageSize != null)
{
model.PageIndex = model.PageIndex > 0 ? model.PageIndex - 1 : model.PageIndex;
headQuery += $@" limit {model.PageSize} offset {model.PageSize * model.PageIndex}";
}
var response = await this.unitOfWork.Current.QueryAsync<VaccinePharmacyLinkHeaderModel>(headQuery);
foreach (var item in response)
{
var query = $@"SELECT vd.""VaccinePharmacyLinkDetailId"", vd.""VaccinePharmacyLinkHeaderId"", vd.""VaccineMasterId"", vm.""VaccineName"" , vm.""DisplayName"" ,
vm.""AllowedDays"" , vm.""AllowedType"" ,vag.""AgeGroupName""
FROM public.""VaccinePharmacyLinkDetail"" vd
join ""VaccineMaster"" vm on vm.""VaccineMasterId"" = vd.""VaccineMasterId""
join ""VaccineAgeGroup"" vag on vag.""VaccineAgeGroupId"" = vm.""VaccineAgeGroupId""
where vd.""VaccinePharmacyLinkHeaderId"" = {item.VaccinePharmacyLinkHeaderId}";
var det = await this.unitOfWork.Current.QueryAsync<VaccinePharmacyLinkDetailModel>(query);
item.Vaccines = new List<VaccinePharmacyLinkDetailModel>();
item.Vaccines.AddRange(det);
}
return response;
}
/// <inheritdoc />
public async Task<int> DeletePharmacyLinkAsync(int headerId)
{
var deleteQuery = $@"delete from ""VaccinePharmacyLinkDetail"" where ""VaccinePharmacyLinkHeaderId"" = {headerId}";
await this.unitOfWork.Current.ExecuteAsync(deleteQuery);
var delQ = $@"delete from ""VaccinePharmacyLinkHeader"" where ""VaccinePharmacyLinkHeaderId"" = {headerId}";
return await this.unitOfWork.Current.ExecuteAsync(delQ);
}
/// <inheritdoc />
public async Task<IEnumerable<VaccinePharmacyLinkDetailModel>> FetchVaccinesWithPharmacyProductInformationAsync(int vaccineMasterId)
{
var query = $@"select vd.""VaccinePharmacyLinkHeaderId"" ,
STRING_AGG (vm.""VaccineName"",',') as ""GroupedVaccines"",
pp.""ProductName"" ,pp.""GenericName"" , c.""Name"" as ""CompanyName"", pp.""PharmacyProductId""
from ""VaccinePharmacyLinkDetail"" vd
join ""VaccinePharmacyLinkHeader"" vh on vh.""VaccinePharmacyLinkHeaderId"" = vd.""VaccinePharmacyLinkHeaderId""
join ""VaccineMaster"" vm on vm.""VaccineMasterId"" = vd.""VaccineMasterId""
join ""PharmacyProduct"" pp on pp.""PharmacyProductId"" = vh.""PharmacyProductId""
join ""Company"" c on c.""CompanyId"" = pp.""CompanyId""
where vd.""VaccinePharmacyLinkHeaderId"" in (select ""VaccinePharmacyLinkHeaderId"" from ""VaccinePharmacyLinkDetail"" where ""VaccineMasterId"" = {vaccineMasterId})
group by vd.""VaccinePharmacyLinkHeaderId"" , pp.""ProductName"" ,pp.""GenericName"" , c.""Name"", pp.""PharmacyProductId""";
return await this.unitOfWork.Current.QueryAsync<VaccinePharmacyLinkDetailModel>(query);
}
/// <inheritdoc />
public async Task<int> AddImmunizationOrderAsync(ImmunizationHistoryModel model)
{
var getPharmaDet = $@"select vd.* from ""VaccinePharmacyLinkHeader"" vh
join ""VaccinePharmacyLinkDetail"" vd on vd.""VaccinePharmacyLinkHeaderId"" = vh.""VaccinePharmacyLinkHeaderId""
where vh.""PharmacyProductId"" = {model.PharmacyProductId}";
var getDetail = await this.unitOfWork.Current.QueryAsync<VaccinePharmacyLinkDetailModel>(getPharmaDet);
if (getDetail == null)
{
return 0;
}
var insert = new List<ImmunizationHistory>();
foreach (var item in getDetail)
{
var immun = new ImmunizationHistory
{
BatchNumber = model.BatchNumber,
BillNumber = model.BillNumber,
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
PharmacyProductId = model.PharmacyProductId,
ProductName = model.ProductName,
Status = "Pending",
VaccineMasterId = item.VaccineMasterId,
PatientId = model.PatientId
};
insert.Add(immun);
}
return await this.unitOfWork.ImmunizationHistory.BulkInsertAsync(insert);
}
/// <inheritdoc />
public async Task<IEnumerable<ImmunizationHistoryModel>> CheckProductFromSalesBillAsync(int patientId, string pharmacyProductId)
{
var query = $@"select ih.""ImmunizationHistoryId"" , ih.""PharmacyProductId"" , ih.""ProductName"" ,ih.""BillNumber"" ,ih.""BatchNumber"" ,ih.""ExpiryDate"" ,
ih.""CreatedDate"" ,ihc.""FullName"" as ""OrderBy"",ih.""Status"" ,ih.""PatientId"",ih.""VaccineMasterId"" , vm.""VaccineName""
from ""ImmunizationHistory"" ih
join ""Account"" ihc on ihc.""AccountId"" = ih.""CreatedBy""
join ""VaccineMaster"" vm on vm.""VaccineMasterId"" = ih.""VaccineMasterId""
where ih.""PatientId"" = {patientId} and ih.""PharmacyProductId"" in ({pharmacyProductId}) and ih.""Status"" = 'Pending'";
return await this.unitOfWork.Current.QueryAsync<ImmunizationHistoryModel>(query);
}
/// <inheritdoc />
public async Task<int> GiveVaccineAsync(ImmunizationHistoryModel model)
{
var updated = 0;
if (!string.IsNullOrEmpty(model.ImmunizationIds))
{
var ids = model.ImmunizationIds.Split(',');
foreach (var id in ids)
{
var find = await this.unitOfWork.ImmunizationHistory.FindAsync(x => x.ImmunizationHistoryId == Convert.ToInt32(id));
if (find == null)
{
return 0;
}
find.ExpiryDate = model.ExpiryDate;
find.BatchNumber = model.BatchNumber;
find.BillNumber = model.BillNumber;
find.Status = "Completed";
find.ProductName = model.ProductName;
find.VaccineGivenBy = model.VaccineGivenBy;
find.VaccineGivenDate = DateTime.Now;
var update = await this.unitOfWork.ImmunizationHistory.UpdateAsync(find);
if (update == 0)
{
return 0;
}
updated++;
}
}
else
{
return 0;
}
return updated;
}
/// <inheritdoc />
public async Task<IEnumerable<ImmunizationHistoryModel>> FetchImmunizationHistoryAsync(int patientId)
{
var query = $@"select ih.""ImmunizationHistoryId"" , ih.""PharmacyProductId"" , ih.""ProductName"" ,ih.""BillNumber"" ,ih.""BatchNumber"" ,ih.""ExpiryDate"" ,
ih.""CreatedDate"" ,ihc.""FullName"" as ""OrderBy"",ih.""Status"" ,ih.""PatientId"", ih.""VaccineGivenBy"" , ih.""VaccineGivenDate"",
g.""FullName"" as ""VaccineGivenByName"", ih.""VaccineMasterId"" , vm.""VaccineName"" ,vm.""AllowedDays"" ,vm.""AllowedType""
from ""ImmunizationHistory"" ih
join ""VaccineMaster"" vm on vm.""VaccineMasterId"" = ih.""VaccineMasterId""
join ""Account"" ihc on ihc.""AccountId"" = ih.""CreatedBy""
left join ""Account"" g on g.""AccountId"" = ih.""VaccineGivenBy""
where ih.""PatientId"" = {patientId}";
return await this.unitOfWork.Current.QueryAsync<ImmunizationHistoryModel>(query);
}
}
}
using Hims.Shared.Library.Enums;
namespace Hims.Infrastructure.Services
{
using System.Threading.Tasks;
using Dapper;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
/// <inheritdoc />
public class ValidatorServices : IValidatorService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IValidatorService" />
public ValidatorServices(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public async Task<int> ValidateEmailAsync(string query, string type, int referenceId)
{
var accountCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"select count(""AccountId"") from ""Account"" where LOWER(TRIM(""Email"")) = LOWER(TRIM('{query}')) and ""ReferenceId"" <> '{referenceId}' AND ""Email"" != ''");
switch (type)
{
case "Patient":
return await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""PatientId"") FROM ""Patient"" WHERE LOWER(TRIM(""Email"")) = LOWER(TRIM('{query}')) AND ""PatientId"" <> '{referenceId}' AND ""Email"" != '' ");
case "User":
var userResponse = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE LOWER(TRIM(""Email"")) = LOWER(TRIM('{query}')) AND ""UserId"" <> '{referenceId}'");
return accountCount + userResponse;
case "Provider":
var providersCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE LOWER(TRIM(""Email"")) = LOWER(TRIM('{query}')) AND ""ProviderId"" <> '{referenceId}' AND ""Email"" != ''");
var usersCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE LOWER(TRIM(""Email"")) = LOWER(TRIM('{query}')) AND ""UserId"" <> '{referenceId}' AND ""RoleId"" IN ({(int)Roles.Nurse},{(int)Roles.Receptionist})");
return providersCount + usersCount + accountCount;
default:
return 0;
}
}
/// <inheritdoc />
public async Task<int> ValidateMobileAsync(string query, int countryId, string type, int referenceId)
{
var accountCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"select count(""AccountId"") from ""Account"" where ""Mobile"" = '{query}' AND ""CountryId"" = '{countryId}' and ""Mobile"" != '' and ""ReferenceId"" <> '{referenceId}' ");
switch (type)
{
case "Patient":
return await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""PatientId"") FROM ""Patient"" WHERE ""Mobile"" = '{query}' AND ""CountryId"" = '{countryId}' AND ""PatientId"" <> '{referenceId}'");
case "User":
var userCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE ""Mobile"" = '{query}' AND ""CountryId"" = '{countryId}' AND ""UserId"" <> '{referenceId}'");
return userCount + accountCount;
case "Provider":
var providersCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE ""Mobile"" = '{query}' AND ""CountryId"" = '{countryId}' AND ""ProviderId"" <> '{referenceId}' AND ""Mobile"" != ''");
var usersCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE ""Mobile"" = '{query}' AND ""CountryId"" = '{countryId}' AND ""UserId"" <> '{referenceId}' AND ""RoleId"" IN ({(int)Roles.Nurse},{(int)Roles.Receptionist}) ");
return providersCount + usersCount + accountCount;
default:
return 0;
}
}
/// <inheritdoc />
public Task<int> ValidateNpiAsync(string query, int providerId) =>
this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>(
$@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE ""NPI"" = '{query}' AND ""ProviderId"" <> '{providerId}'");
/// <inheritdoc />
public Task<int> ValidatePharmacyProductAsync(string query, int? pharmacyProductId)
{
var where = string.Empty;
if(pharmacyProductId != null)
{
where += $@" and ""PharmacyProductId"" <> {pharmacyProductId}";
}
var querys = $@"SELECT count(""PharmacyProductId"") FROM ""PharmacyProduct"" where LOWER(TRIM(""ProductName"")) = LOWER(TRIM('{query}')) {where}";
return this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>(querys);
}
public async Task<int> ValidateUserNameAsync(string query, string type, int referenceId)
{
var accountCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"select count(""AccountId"") from ""Account"" where LOWER(TRIM(""UserName"")) = LOWER(TRIM('{query}')) and ""ReferenceId"" <> '{referenceId}' AND ""UserName"" != ''");
switch (type)
{
case "Patient":
return await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""PatientId"") FROM ""Patient"" WHERE LOWER(TRIM(""UserName"")) = LOWER(TRIM('{query}')) AND ""PatientId"" <> '{referenceId}' AND ""UserName"" != '' ");
case "User":
var userResponse = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(ad.""ReferenceId"") FROM ""Account"" ad LEFT JOIN ""User"" usr on usr.""UserId"" = ad.""ReferenceId"" WHERE LOWER(TRIM(ad.""Email"")) = LOWER(TRIM('{query}')) AND usr.""UserId"" <> '{referenceId}' ");
return accountCount + userResponse;
case "Provider":
///var providersCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""ProviderId"") FROM ""Provider"" WHERE LOWER(TRIM(""Email"")) = LOWER(TRIM('{query}')) AND ""ProviderId"" <> '{referenceId}' AND ""UserName"" != ''");
var providersCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(ad.""ReferenceId"") FROM ""Account"" ad LEFT JOIN ""User"" usr on usr.""UserId"" = ad.""ReferenceId"" WHERE LOWER(TRIM(ad.""Email"")) = LOWER(TRIM('{query}')) AND usr.""UserId"" <> '{referenceId}' ");
///var usersCount = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""UserId"") FROM ""User"" WHERE LOWER(TRIM(""UserName"")) = LOWER(TRIM('{query}')) AND ""UserId"" <> '{referenceId}' AND ""RoleId"" IN ({(int)Roles.Nurse},{(int)Roles.Receptionist})");
var usersCount = 0;
return providersCount + usersCount + accountCount;
default:
return 0;
}
}
}
}
namespace Hims.Infrastructure.Services
{
using System.Collections.Generic;
using System.Threading.Tasks;
using Dapper;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Hims.Shared.EntityModels;
using Hims.Shared.UserModels;
/// <inheritdoc />
public class VideoCallHistoryServices : IVideoCallHistoryService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <summary>
/// Initializes a new instance of the <see cref="VideoCallHistoryServices"/> class.
/// </summary>
/// <param name="unitOfWork">
/// The unit of work.
/// </param>
public VideoCallHistoryServices(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <summary>
/// The fetch async.
/// </summary>
/// <param name="appointmentId">
/// The appointment id.
/// </param>
/// <returns>
/// The <see cref="Task"/>.
/// </returns>
public async Task<IEnumerable<VideoCallHistoryModel>> FetchAsync(int appointmentId)
{
var where = $@"WHERE 1 = 1";
if (appointmentId > 0)
{
where = $@"WHERE a.""AppointmentId"" = {appointmentId}";
}
var query = $@"SELECT
v.*,
a.""AppointmentDate"",
a.""AppointmentTime"",
p.""FullName"" AS ""DoctorFullName"",
pa.""FullName"" AS ""PatientFullName"",
d.""Status"",
d.""Reason""
FROM
""VideoCallHistory"" v
LEFT JOIN ""Appointment"" A ON A.""AppointmentId"" = v.""AppointmentId""
LEFT JOIN ""Provider"" P ON P.""ProviderId"" = A.""ProviderId""
LEFT JOIN ""Patient"" pa ON pa.""PatientId"" = A.""PatientId""
LEFT JOIN ""DoctorDeviceDetails"" d on d.""AppointmentId"" = v.""AppointmentId""
{where} ORDER BY v.""VideoCallHistoryId"" desc LIMIT 10";
var records = await this.unitOfWork.Current.QueryAsync<VideoCallHistoryModel>(query);
return records;
}
/// <summary>
/// The fetch async.
/// </summary>
/// <param name="appointmentId">
/// The appointment id.
/// </param>
/// <param name="doctorDeviceDetailsId">
/// The doctor device details id.
/// </param>
/// <returns>
/// The <see cref="Task"/>.
/// </returns>
public async Task<VideoCallHistoryInfo> FetchAsync(int appointmentId, int doctorDeviceDetailsId)
{
var where = $@"WHERE v.""AppointmentId"" = {appointmentId} AND v.""DoctorDeviceDetailsId"" = {doctorDeviceDetailsId}";
var query = $@"SELECT
v.*
FROM
""VideoCallHistory"" v
{where} LIMIT 1";
var record = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<VideoCallHistoryModel>(query);
var history = new VideoCallHistoryInfo();
query = $@"SELECT * FROM ""DoctorDeviceDetails"" WHERE ""DoctorDeviceDetailsId"" = {doctorDeviceDetailsId}";
history.Doctor = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<DoctorDeviceDetailsModel>(query);
if (record.PatientDeviceDetailsId > 0)
{
query = $@"SELECT * FROM ""PatientDeviceDetails"" WHERE ""PatientDeviceDetailsId"" = {record.PatientDeviceDetailsId}";
history.Patient = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<PatientDeviceDetailsModel>(query);
}
return history;
}
/// <summary>
/// The insert async.
/// </summary>
/// <param name="appointmentId">
/// The appointment id.
/// </param>
/// <returns>
/// The <see cref="Task"/>.
/// </returns>
public async Task<int> InsertAsync(int appointmentId)
{
var query = $@"SELECT ""DoctorDeviceDetailsId""
FROM
""DoctorDeviceDetails"" WHERE ""AppointmentId"" = {appointmentId} ORDER BY ""DoctorDeviceDetailsId"" desc LIMIT 1";
var doctorDeviceDetailsId = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int?>(query);
query = $@"SELECT ""PatientId""
FROM
""Appointment"" WHERE ""AppointmentId"" = {appointmentId} LIMIT 1";
var patientId = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int?>(query);
query = $@"SELECT ""PatientDeviceDetailsId""
FROM
""PatientDeviceDetails"" WHERE ""PatientId"" = {patientId} ORDER BY ""PatientDeviceDetailsId"" desc LIMIT 1";
var patientDeviceDetailsId = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int?>(query);
var data = new VideoCallHistory
{
AppointmentId = appointmentId,
DoctorDeviceDetailsId = doctorDeviceDetailsId ?? 0,
PatientDeviceDetailsId = patientDeviceDetailsId ?? 0
};
var response = await this.unitOfWork.VideoCallHistories.InsertAsync(data);
return response;
}
}
}
\ No newline at end of file
namespace Hims.Infrastructure.Services
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Dapper;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Shared.EntityModels;
using Shared.UserModels.Filters;
/// <inheritdoc />
public class VisitTypeService : IVisitTypeService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IVisitTypeService" />
public VisitTypeService(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public Task<IEnumerable<VisitTypeModel>> FetchAsync(VisitTypeFilterModel model)
{
var where = " WHERE 1 = 1 ";
if (!string.IsNullOrEmpty(model.VisitorName))
{
where += $@" AND TRIM(UPPER(""VisitorName"")) = '{model.VisitorName.Trim().ToUpper()}'";
}
if (model.Active != null)
{
where += $@" AND ""Active"" IS {((bool)model.Active ? "TRUE" : "FALSE")}";
}
var query = $@"select count(VT.""VisitTypeId"") over() as ""TotalItems"", VT.""VisitTypeId"", VT.""VisitorName"", VT.""VisitTypeFor"", VT.""Active"", VT.""CreatedBy"", VT.""CreatedDate"",
VT.""ModifiedBy"", VT.""ModifiedDate"", VT.""RowColor"",
C.""FullName"" as ""CreatedByName"", CR.""RoleName"" as ""CreatedByRole"",M.""FullName"" as ""ModifiedByName"", MR.""RoleName"" as ""ModifiedByRole""
FROM ""VisitType"" VT
left join ""Account"" C on C.""AccountId"" = VT.""CreatedBy""
left join ""Role"" CR on CR.""RoleId"" = C.""RoleId""
left join ""Account"" M on M.""AccountId"" = VT.""ModifiedBy""
left join ""Role"" MR on MR.""RoleId"" = M.""RoleId""
{where}
order by VT.""CreatedDate"" desc";
//if (model.PageIndex <= 0)
//{
// return this.unitOfWork.Current.QueryAsync<VisitTypeModel>(query);
//}
//model.PageIndex -= 1;
//query += " LIMIT " + model.PageSize + " offset " + (model.PageIndex * model.PageSize);
return this.unitOfWork.Current.QueryAsync<VisitTypeModel>(query);
}
/// <inheritdoc />
public async Task<int> AddAsync(VisitTypeModel model)
{
try
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""VisitTypeId"") FROM ""VisitType"" WHERE TRIM(UPPER(""VisitorName"")) = '{model.VisitorName.ToUpper().Trim()}'");
if (checkIf > 0)
{
return -1;
}
var visitType = new VisitType
{
Active = true,
VisitorName = model.VisitorName,
VisitTypeFor = model.VisitTypeFor,
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
RowColor=model.RowColor
};
return await this.unitOfWork.Visitors.InsertAsync(visitType);
}
catch (Exception e)
{
Console.WriteLine(e.Message.ToString());
}
return 0;
}
/// <inheritdoc />
public async Task<int> UpdateAsync(VisitTypeModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""VisitTypeId"") FROM ""VisitType"" WHERE TRIM(UPPER(""VisitorName"")) = '{model.VisitorName.ToUpper().Trim()}' AND ""VisitTypeId"" <> {model.VisitTypeId}");
if (checkIf > 0)
{
return -1;
}
var visitType = await this.unitOfWork.Visitors.FindAsync(m => m.VisitTypeId == model.VisitTypeId);
visitType.VisitorName = model.VisitorName;
visitType.VisitTypeFor = model.VisitTypeFor;
visitType.Active = true;
visitType.ModifiedBy = model.ModifiedBy;
visitType.ModifiedDate = DateTime.Now;
visitType.RowColor = model.RowColor;
return await this.unitOfWork.Visitors.UpdateAsync(visitType);
}
/// <inheritdoc />
public Task<int> DeleteAsync(int visitTypeId)
{
var query = $@"DELETE FROM ""VisitType"" WHERE ""VisitTypeId""= {visitTypeId}";
return this.unitOfWork.Current.ExecuteAsync(query);
}
public async Task<string> FindNameByVisitorId(int visitTypeId)
{
var query = $@"SELECT ""VisitorName"" FROM ""VisitType"" WHERE ""VisitTypeId"" = {visitTypeId}";
var response = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<string>(query);
return response;
}
/// <inheritdoc />
public async Task<int> ModifyStatusAsync(VisitTypeModel model)
{
var query = $@"UPDATE ""VisitType""
SET ""ModifiedBy""={model.CreatedBy}, ""ModifiedDate""=now(), ""Active""= {model.Active}
WHERE ""VisitTypeId""= {model.VisitTypeId}";
return await this.unitOfWork.Current.ExecuteAsync(query);
}
}
}
\ No newline at end of file
namespace Hims.Infrastructure.Services
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Dapper;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Hims.Shared.Library;
using Shared.EntityModels;
using Shared.UserModels.VitalType;
using Resource = Hims.Shared.UserModels.UnitType;
/// <inheritdoc />
public class VitalTypeService : IVitalTypeService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IVitalTypeService" />
public VitalTypeService(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public Task<IEnumerable<ViewModel>> FetchAsync(FilterModel model)
{
var where = " WHERE 1 = 1 ";
if (!string.IsNullOrEmpty(model.Name))
{
where += $@" AND TRIM(UPPER(""Name"")) = '{model.Name.Trim().ToUpper()}'";
}
//if (model.Active != null)
//{
// where += $@" AND ""Active"" IS {((bool)model.Active ? "TRUE" : "FALSE")}";
//}
var query = $@"SELECT COUNT(*) OVER () AS ""TotalItems"", * FROM ""VitalType"" {where} Order by ""VitalTypeId"" DESC";
if (model.PageIndex <= 0)
{
return this.unitOfWork.Current.QueryAsync<ViewModel>(query);
}
model.PageIndex -= 1;
query += " LIMIT " + model.PageSize + " offset " + (model.PageIndex * model.PageSize);
return this.unitOfWork.Current.QueryAsync<ViewModel>(query);
}
/// <inheritdoc />
public async Task<int> AddAsync(InsertModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""VitalTypeId"") FROM ""VitalType"" WHERE TRIM(UPPER(""Name"")) = '{model.Name.ToUpper().Trim()}'");
if (checkIf > 0)
{
return -1;
}
var vitalType = new VitalType
{
Name = model.Name,
UnitType = model.UnitType,
Min = model.Min,
Max = model.Max,
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
};
return await this.unitOfWork.VitalType.InsertAsync(vitalType);
}
/// <inheritdoc />
public async Task<int> UpdateAsync(UpdateModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""VitalTypeId"") FROM ""VitalType"" WHERE TRIM(UPPER(""Name"")) = '{model.Name.ToUpper().Trim()}' AND ""VitalTypeId"" <> {model.VitalTypeId}");
if (checkIf > 0)
{
return -1;
}
var vitalType = await this.unitOfWork.VitalType.FindAsync(m => m.VitalTypeId == model.VitalTypeId);
vitalType.Name = model.Name;
vitalType.UnitType = model.UnitType;
vitalType.Min = model.Min;
vitalType.Max = model.Max;
vitalType.ModifiedBy = model.ModifiedBy;
vitalType.ModifiedDate = DateTime.Now;
return await this.unitOfWork.VitalType.UpdateAsync(vitalType);
}
/// <inheritdoc />
public async Task<int> DeleteAsync(DeleteModel id)
{
var response = await this.unitOfWork.VitalType.DeleteAsync(x => x.VitalTypeId == id.VitalTypeId);
return response ? 1 : -1;
}
public async Task<string> FindNameByVitalTypeId(int id)
{
var query = $@"SELECT ""Name"" FROM ""VitalType"" WHERE ""VitalTypeId"" = {id}";
var response = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<string>(query);
return response;
}
public async Task<IEnumerable<Resource.ViewModel>> FetchUnitTypeAsync()
{
var query = $@"SELECT
""UnitTypeId"" AS ""Id"",
""Name"" AS ""Name""
FROM
""UnitType"" ";
var records = await this.unitOfWork.Current.QueryAsync<Resource.ViewModel>(query);
return records;
}
}
}
\ No newline at end of file
namespace Hims.Infrastructure.Services
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Dapper;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Shared.EntityModels;
using Shared.UserModels.Filters;
/// <inheritdoc />
public class WalletServices : IWalletService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <summary>
/// Initializes a new instance of the <see cref="WalletServices"/> class.
/// </summary>
/// <param name="unitOfWork">
/// The unit of work.
/// </param>
public WalletServices(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public Task<IEnumerable<WalletModel>> FetchAsync(WalletFilterModel model)
{
var query = $@"WITH CTS AS(SELECT ""PatientId"", ""WalletId"", COALESCE(""CreditedAmount"", 0) AS ""CreditedAmount"", COALESCE(""DebitedAmount"", 0) AS ""DebitedAmount"", ""CreditedFor"", ""CreatedDate"" FROM ""Wallet"" )
,TOTAL AS (SELECT ""PatientId"",COALESCE(SUM(""CreditedAmount""),0) AS ""TotalCredits"",COALESCE(SUM(""DebitedAmount""),0) AS ""TotalDebits""
FROM ""Wallet"" GROUP By ""PatientId"")
SELECT a.*,b.""TotalCredits"",b.""TotalDebits"" FROM CTS a
JOIN TOTAL b ON a.""PatientId""=b.""PatientId""
WHERE a.""PatientId"" = {model.PatientId} ORDER BY ""WalletId"" DESC ";
if (model.PageIndex <= 0)
{
return this.unitOfWork.Current.QueryAsync<WalletModel>(query);
}
model.PageIndex -= 1;
query += " LIMIT " + model.PageSize + " offset " + (model.PageIndex * model.PageSize);
return this.unitOfWork.Current.QueryAsync<WalletModel>(query);
}
/// <inheritdoc />
public Task<WalletModel> FindAsync(int patientId)
{
var query = $@"SELECT ""PatientId"",COALESCE(SUM(""CreditedAmount""),0) AS ""TotalCredits"",COALESCE(SUM(""DebitedAmount""),0) AS ""TotalDebits""
FROM ""Wallet"" WHERE ""PatientId"" = {patientId} GROUP By ""PatientId""";
return this.unitOfWork.Current.QueryFirstOrDefaultAsync<WalletModel>(query);
}
/// <inheritdoc />
public Task AddAsync(WalletModel model)
{
var wallet = new Wallet
{
CreatedDate = DateTime.UtcNow,
PatientId = model.PatientId,
CreditedAmount = model.CreditedAmount,
DebitedAmount = model.DebitedAmount,
CreditedFor = model.CreditedFor
};
return this.unitOfWork.Wallet.InsertAsync(wallet);
}
}
}
\ No newline at end of file
namespace Hims.Infrastructure.Services
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Dapper;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Hims.Shared.Library;
using Shared.EntityModels;
using Shared.UserModels.Filters;
/// <inheritdoc />
public class WardService : IWardService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IWardService" />
public WardService(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public Task<IEnumerable<WardModel>> FetchAsync(WardFilterModel model)
{
var where = " WHERE 1 = 1 ";
if (model.FloorId > 0)
{
where += $@" AND F.""FloorId"" = {model.FloorId}";
}
if (model.LocationId > 0)
{
where += $@" AND F.""LocationId"" = {model.LocationId}";
}
if (model.WardId > 0)
{
where += $@" AND W.""WardId"" = {model.WardId}";
}
if (!string.IsNullOrEmpty(model.FloorName))
{
where += $@" and F.""FloorName"" ilike '%{model.FloorName}%' ";
}
if (!string.IsNullOrEmpty(model.WardName))
{
where += $@" and W.""WardName"" ilike '%{model.WardName}%' ";
}
//if (model.LocationId > 0)
//{
// where += $@" AND F.""LocationId"" = {model.LocationId}";
//}
var query = $@"SELECT COUNT(*) OVER () AS ""TotalItems"",W.""Active"",
W.""WardId"", W.""WardName"" ,CA.""FullName"" AS ""CreatedByName"" , MA.""FullName"" AS ""ModifiedByName"" , W.""CreatedDate"", W.""ModifiedDate"",
F.""FloorName"", F.""FloorId"",L.""Name"" as ""LocationName"" ,L.""LocationId""
FROM ""Ward"" W
JOIN ""Floor"" F on F.""FloorId""=W.""FloorId""
Join ""Location"" L on L.""LocationId""=F.""LocationId""
Left Join ""Account"" CA ON CA.""AccountId"" = W.""CreatedBy""
Left Join ""Account"" MA ON MA.""AccountId"" = W.""ModifiedBy""
{where} Order by ""WardId"" DESC";
if (model.PageIndex <= 0)
{
return this.unitOfWork.Current.QueryAsync<WardModel>(query);
}
model.PageIndex -= 1;
query += $@" limit {model.PageSize} offset {model.PageSize * model.PageIndex}";
return this.unitOfWork.Current.QueryAsync<WardModel>(query);
}
/// <inheritdoc />
public Task<IEnumerable<Resource>> FetchWardAsync(WardFilterModel model)
{
var where = " WHERE 1 = 1 ";
if (model.FloorId > 0)
{
where += $@" AND F.""FloorId"" = {model.FloorId}";
}
if (model.LocationId > 0)
{
where += $@" and F.""LocationId"" = {model.LocationId}";
}
var query = $@"SELECT COUNT(*) OVER () AS ""TotalItems"",W.""Active"",
W.""WardId"" AS ""Id"",W.""WardName"" AS ""Value"" ,F.""FloorName"" AS ""OptionalText1"", L.""Name"" AS ""OptionalText""
FROM ""Ward"" W
JOIN ""Floor"" F on F.""FloorId""=W.""FloorId""
Join ""Location"" L on F.""LocationId"" = L.""LocationId""
{where} and W.""Active"" = true Order by ""WardId"" DESC";
return this.unitOfWork.Current.QueryAsync<Resource>(query);
}
/// <inheritdoc />
public async Task<int> AddAsync(WardModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""WardId"") FROM ""Ward"" WHERE TRIM(UPPER(""WardName"")) = '{model.WardName.ToUpper().Trim()}' and ""FloorId"" ={model.FloorId}");
if (checkIf > 0)
{
return -1;
}
var ward = new Ward
{
Active = true,
WardName = model.WardName,
CreatedBy = model.CreatedBy,
CreatedDate = DateTime.Now,
FloorId = model.FloorId,
};
return await this.unitOfWork.Wards.InsertAsync(ward);
}
/// <inheritdoc />
public async Task<int> UpdateAsync(WardModel model)
{
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>($@"SELECT COUNT(""WardId"") FROM ""Ward"" WHERE TRIM(UPPER(""WardName"")) = '{model.WardName.ToUpper().Trim()}' and ""FloorId"" ={model.FloorId}");
var ward = await this.unitOfWork.Wards.FindAsync(m => m.WardId == model.WardId);
ward.WardName = model.WardName;
ward.Active = model.Active;
ward.ModifiedBy = model.ModifiedBy;
ward.ModifiedDate = DateTime.Now;
ward.FloorId = model.FloorId;
if (model.updateStatus==true)
return await this.unitOfWork.Wards.UpdateAsync(ward);
if (checkIf > 0)
{
return -1;
}
return await this.unitOfWork.Wards.UpdateAsync(ward);
}
/// <inheritdoc />
public async Task<int> DeleteAsync(int wardId)
{
var query1 = $@"select count(""BedId"") from ""Admission"" where ""IsDischarged"" is false and ""Active"" is true and ""BedId"" in (select b.""BedId"" from ""Bed"" b join ""Room"" r on r.""RoomId"" = b.""RoomId"" where r.""WardId"" = {wardId}) ";
var response1 = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(query1);
if (response1 > 0)
{
return -2;
}
var query = $@"DELETE FROM ""Ward"" WHERE ""WardId""= {wardId}";
return await this.unitOfWork.Current.ExecuteAsync(query);
}
public async Task<string> FindNameByWardId(int wardId)
{
var query = $@"SELECT ""WardName"" FROM ""Ward"" WHERE ""WardId"" = {wardId}";
var response = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<string>(query);
return response;
}
/// <summary>
/// Changes the status asynchronous.
/// </summary>
/// <param name="model">The model.</param>
/// <returns></returns>
public async Task<int> ChangeStatusAsync(WardModel model)
{
var query = $@"select count(""BedId"") from ""Admission"" where ""IsDischarged"" is false and ""Active"" is true and ""BedId"" in (select b.""BedId"" from ""Bed"" b join ""Room"" r on r.""RoomId"" = b.""RoomId"" where r.""WardId"" = {model.WardId}) ";
var response = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(query);
if (response > 0)
{
return -2;
}
var ward = await this.unitOfWork.Wards.FindAsync(m => m.WardId == model.WardId);
if (ward == null)
{
return -1;
}
ward.Active = model.Active;
ward.ModifiedBy = model.ModifiedBy;
ward.ModifiedDate = DateTime.Now;
return await this.unitOfWork.Wards.UpdateAsync(ward);
}
}
}
\ No newline at end of file
namespace Hims.Infrastructure.Services
{
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Dapper;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Hims.Domain.Configurations;
using Shared.EntityModels;
using Shared.UserModels.WebNotification;
/// <inheritdoc />
public class WebNotificationServices : IWebNotificationService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <summary>
/// The running environment
/// </summary>
private readonly IRunningEnvironment runningEnvironment;
/// <inheritdoc cref="IWebNotificationService" />
public WebNotificationServices(IUnitOfWork unitOfWork, IRunningEnvironment runningEnvironment)
{
this.unitOfWork = unitOfWork;
this.runningEnvironment = runningEnvironment;
}
/// <inheritdoc/>
public async Task<IEnumerable<RoleModel>> GetAllRoles()
{
var query = $@"Select * from ""Role"" where ""Active"" is true";
return await this.unitOfWork.Current.QueryAsync<RoleModel>(query);
}
/// <inheritdoc/>
public async Task<IEnumerable<AccountModel>> FetchAccountBasedonName(string fullName)
{
var query = $@"Select * from ""Account"" where ""FullName"" ilike '%{fullName}%' and ""Active"" is true";
return await this.unitOfWork.Current.QueryAsync<AccountModel>(query);
}
/// <inheritdoc/>
public async Task<int> InsertAsync(WebNotificationModel model)
{
var where = $@"where 1=1 and ""ModulesMasterId"" = {model.ModulesMasterId}";
if (model.ReferenceId != null)
{
where += $@" and ""ReferenceId"" = {model.ReferenceId}";
}
if (model.PatientId != null)
{
where += $@" and ""PatientId"" = {model.PatientId}";
}
var checkIfQuery = $@"select count(*) from ""WebNotification"" {where} ";
var checkIf = await this.unitOfWork.Current.QueryFirstOrDefaultAsync<int>(checkIfQuery);
if (checkIf > 0)
{
return 0;
}
var notification = new WebNotification
{
// Should save with comma seperated.
AllowedAccounts = model.AllowedAccounts,
AllowedRoles = model.AllowedRoles, // Should save with comma seperated
CreatedDate = model.CreatedDate != null ? model.CreatedDate : DateTime.Now,
IsRead = false,
Message = model.Message,
RedirectionLink = model.RedirectionLink,
WebNotificationLogTypeId = model.WebNotificationLogTypeId,
WebNotificationPriorityId = model.WebNotificationPriorityId,
PatientId = model.PatientId, // If Notification is patient related
ReferenceId = model.ReferenceId, // in case redirection needed
ModulesMasterId = model.ModulesMasterId
};
try
{
var response = await this.unitOfWork.WebNotifications.InsertAsync(notification);
return response;
}
catch (Exception e)
{
e.Message.ToString();
}
return 1;
}
/// <inheritdoc/>
public async Task<int> UpdateAsync(WebNotificationModel model, int BookScanAppointmentId)
{
var updateResponse = -1;
var notification = await this.unitOfWork.WebNotifications.FindAsync(m => m.ReferenceId == BookScanAppointmentId && m.ModulesMasterId == model.ModulesMasterId);
if (notification != null)
{
var updateModel = await this.unitOfWork.WebNotifications.FindAsync(x => x.WebNotificationId == notification.WebNotificationId);
updateModel.CreatedDate = model.CreatedDate;
updateModel.Message = model.Message;
updateResponse = await this.unitOfWork.WebNotifications.UpdateAsync(updateModel);
}
return updateResponse;
}
/// <inheritdoc/>
public async Task<IEnumerable<WebNotificationDisplayModel>> FetchNotificatons(WebNotificationFilterModel model)
{
var where = $@"Where 1=1 and WB.""IsRead"" is false";
var extraCondition = string.Empty;
var extraConditionScan = string.Empty;
var extraColumn = string.Empty;
var filterPatient = string.Empty;
if (model.ShowRead)
{
where = $@" Where 1=1 ";
}
if (model.RoleId > 0)
{
where += $@" and R.""RoleId"" = {model.RoleId} ";
}
if (model.PatientId != null)
{
where += $@" and WB.""PatientId"" = {model.PatientId} ";
}
if (!string.IsNullOrEmpty(model.FilterPatient))
{
filterPatient += $@" Where (TRIM(UPPER(m.""PatientName"")) ILIKE '%{model.FilterPatient.Trim().ToUpper()}%' OR m.""PatientMobile"" ILIKE '%{model.FilterPatient.Trim().ToUpper()}%' OR m.""UMRNo"" ILIKE '%{model.FilterPatient.Trim().ToUpper()}%')";
}
if (model.FromDate != null)
{
where += $@" and WB.""CreatedDate""::date >= '{model.FromDate?.ToString("yyyy-MM-dd")}'::date ";
}
if (model.ToDate != null)
{
where += $@" and WB.""CreatedDate""::date <= '{model.ToDate?.ToString("yyyy-MM-dd")}'::date ";
}
if (model.ProviderId != null)
{
where += $@" and APT.""ProviderId"" = {model.ProviderId} ";
}
if (model.ModuleType != null)
{
where += $@" and MM.""ModuleName"" ilike '{model.ModuleType}%'";
}
if (model.LocationId != null) // Only applicable if this is for appointment/Scans
{
where += $@" and (APT.""LocationId"" = {model.LocationId} or BSA.""LocationId"" = {model.LocationId})";
}
if (model.ProviderId != null || model.LocationId != null)
{
extraColumn += $@" , APT.""PaymentStatus"", APT.""Active""";
extraCondition += $@" left join ""Appointment"" APT on APT.""AppointmentId"" = WB.""ReferenceId"" "; // and APT.""PaymentStatus"" is false
}
if (model.ScanMachineMasterId != null || model.LocationId != null)
{
extraColumn += $@" , BSA.""PaymentStatus"" AS ""ScanPaymentStatus""";
extraConditionScan += $@" left join ""BookScanAppointment"" BSA on BSA.""BookScanAppointmentId"" = WB.""ReferenceId"" AND BSA.""PaymentStatus"" IS FALSE AND BSA.""Active"" IS TRUE AND BSA.""Status"" != 'C'";
}
if (model.ModuleIdNotToDisplay != null)
{
where += $@" and MM.""ModulesMasterId"" != {model.ModuleIdNotToDisplay}";
}
var query = $@"with mainData as(SELECT distinct WB.""WebNotificationId"",WB.""Message"", WB.""WebNotificationPriorityId"", WB.""WebNotificationLogTypeId"", WB.""CreatedDate"",
WB.""RedirectionLink"", WB.""AllowedRoles"", WB.""AllowedAccounts"", WB.""IsRead"", WB.""PatientId"",WB.""ReferenceId"",
WNP.""Priority"",WNL.""LogType"",P.""FullName"" as ""PatientName"", P.""Age"" as ""PatientAge"",P.""Gender"" as ""PatientGender"",P.""Mobile"" as ""PatientMobile"",
P.""UMRNo"",WB.""ModulesMasterId"" as ""WebNotificationTypeId"",MM.""ModuleName"" as ""ModuleType"",
(CASE WHEN P.""ThumbnailUrl"" IS NOT NULL THEN CONCAT('{this.runningEnvironment.CurrentEnvironment}', '/', P.""Guid"", '/', P.""ThumbnailUrl"") ELSE '' END) AS ""PatientThumbnailUrl""
{extraColumn}
FROM ""WebNotification"" WB
join ""WebNotificationPriority"" WNP on WNP.""WebNotificationPriorityId"" = WB.""WebNotificationPriorityId""
join ""WebNotificationLogType"" WNL on WNL.""WebNotificationLogTypeId"" = WB.""WebNotificationLogTypeId""
join ""ModulesMaster"" MM on MM.""ModulesMasterId"" = WB.""ModulesMasterId""
join ""Role"" R on R.""RoleId"" = any(string_to_array(WB.""AllowedRoles"",',')::int[])
left join ""Patient"" P on P.""PatientId"" = WB.""PatientId""
{extraCondition}
{extraConditionScan}
{where}
order by WB.""CreatedDate"" desc)
Select count(m.*) over() as ""TotalItems"",m.* from mainData m
{filterPatient}";
if (model.PageIndex != null && model.PageSize != null)
{
model.PageIndex = model.PageIndex > 0 ? model.PageIndex - 1 : model.PageIndex;
query += $@" limit {model.PageSize} offset {model.PageIndex * model.PageSize}";
}
return await this.unitOfWork.Current.QueryAsync<WebNotificationDisplayModel>(query);
}
/// <inheritdoc/>
public async Task<int> UpdateReadStatus(int referenceId, int modulesMasterId)
{
var query = $@"update ""WebNotification"" set ""IsRead"" = true where ""ReferenceId"" = {referenceId} and ""ModulesMasterId"" ={modulesMasterId} ";
return await this.unitOfWork.Current.ExecuteAsync(query);
}
}
}
\ No newline at end of file
namespace Hims.Infrastructure.Services
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Dapper;
using Domain.Entities;
using Domain.Repositories.UnitOfWork;
using Domain.Services;
using Shared.EntityModels;
using Shared.UserModels;
using Hims.Shared.Library.Enums;
using Hims.Shared.UserModels.Common;
using Hims.Shared.UserModels.Telemedicine;
/// <inheritdoc />
public class WebTelemedicineServices : IWebTelemedicineService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <summary>
/// Initializes a new instance of the <see cref="WebTelemedicineServices"/> class.
/// </summary>
/// <param name="unitOfWork">
/// The unit of work.
/// </param>
public WebTelemedicineServices(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc />
public async Task<int> CreateAsync(int appointmentId)
{
var data = new WebTelemedicine
{
AppointmentId = appointmentId,
Count = 0,
CreatedDate = DateTime.UtcNow,
Status = 1
};
var response = await this.unitOfWork.WebTelemedicine.InsertAsync(data);
return response;
}
/// <inheritdoc />
public async Task<WebTelemedicineModel> GetAsync(int telemedicineId)
{
var record = await this.unitOfWork.WebTelemedicine.FindAsync(x => x.WebTelemedicineId == telemedicineId);
var data = new WebTelemedicineModel
{
AppointmentId = record.AppointmentId,
Count = record.Count,
CreatedDate = record.CreatedDate,
ModifiedDate = record.ModifiedDate,
Status = record.Status,
WebTelemedicineId = record.WebTelemedicineId
};
return data;
}
/// <inheritdoc />
public async Task<int> GetStatusAsync(int telemedicineId)
{
var record = await this.unitOfWork.WebTelemedicine.FindAsync(x => x.WebTelemedicineId == telemedicineId);
return record.Status;
}
/// <inheritdoc />
public async Task<int> UpdateCountAsync(int telemedicineId)
{
var record = await this.unitOfWork.WebTelemedicine.FindAsync(x => x.WebTelemedicineId == telemedicineId);
record.Count += 1;
record.ModifiedDate = DateTime.UtcNow;
return await this.unitOfWork.WebTelemedicine.UpdateAsync(record);
}
/// <inheritdoc />
public async Task<int> UpdateStatusAsync(int telemedicineId, int status)
{
var record = await this.unitOfWork.WebTelemedicine.FindAsync(x => x.WebTelemedicineId == telemedicineId);
record.Status = status;
return await this.unitOfWork.WebTelemedicine.UpdateAsync(record);
}
/// <inheritdoc />
public Task<IEnumerable<string>> FetchPatientAppointmentsAsync(int patientId)
{
var query = $@"SELECT ""AppointmentNo"" from ""Appointment"" WHERE ""PatientId"" = '{patientId}' AND ""AppointmentDate""::date = '{DateTime.Today:yyyy/MM/dd}'::date ";
return this.unitOfWork.Current.QueryAsync<string>(query);
}
/// <inheritdoc />
public Task<IEnumerable<string>> FetchProviderAppointmentsAsync(int? providerId, int? practiceId)
{
var where = "1=1";
string providerIds = string.Empty;
if (practiceId != null && practiceId != 0)
{
var practiceLocation = this.unitOfWork.Locations.Find(m => m.PracticeId == practiceId && m.Active);
var providerLocations = this.unitOfWork.ProviderLocations.FindAll(m => m.LocationId == practiceLocation.LocationId && m.Active);
foreach (var id in providerLocations)
{
if (string.IsNullOrEmpty(providerIds))
{
providerIds = id.ProviderId.ToString();
}
else
{
providerIds += ", " + id.ProviderId.ToString();
}
}
where += $@" and ""ProviderId"" IN ({providerIds})";
}
else
{
if (providerId != null)
{
where += $@" and ""ProviderId"" IN ({providerId})";
}
}
var query = $@"SELECT ""AppointmentNo"" from ""Appointment"" WHERE {where}";
return this.unitOfWork.Current.QueryAsync<string>(query);
}
/// <inheritdoc />
public Task<IEnumerable<AccountSessionModel>> GetNurseOrReceptionistDeviceTokens(string appointmentNo, int roleId)
{
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Appointment"" a
JOIN ""Provider"" p on p.""ProviderId"" = a.""ProviderId""
JOIN ""ProviderLocation"" pl on pl.""ProviderId"" = p.""ProviderId""
JOIN ""User"" u on u.""ProviderLocationId"" = pl.""ProviderLocationId""
JOIN ""Account"" ac on ac.""ReferenceId"" = u.""UserId""
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE a.""AppointmentNo"" = '{appointmentNo}' AND ac.""RoleId"" = {roleId} AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
return this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
}
/// <inheritdoc />
public Task<IEnumerable<AccountSessionModel>> GetDeviceTokensByAccount(int accountId)
{
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Account"" ac
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE ac.""AccountId"" = {accountId} AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
return this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
}
/// <inheritdoc />
public Task<IEnumerable<AccountSessionModel>> GetDeviceTokensByAccountIds(List<int> accountIds)
{
var strAccountIds = string.Join(',', accountIds);
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Account"" ac
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE ac.""AccountId"" IN ({strAccountIds}) AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
return this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
}
/// <inheritdoc />
public async Task<int> CreateTelemedicineHistory(string appointmentNo, int accountId, int callType)
{
int responseId;
try
{
var appointment = await this.unitOfWork.Appointments.FindAsync(x => x.AppointmentNo == appointmentNo);
var history = await this.unitOfWork.TelemedicineHistory.FindAsync(x => x.AppointmentId == appointment.AppointmentId);
if (history == null)
{
var historyModel = new TelemedicineHistory
{
AppointmentId = appointment.AppointmentId
};
var historyId = await this.unitOfWork.TelemedicineHistory.InsertAsync(historyModel);
var callHistoryModel = new TelemedicineCallHistory
{
TelemedicineHistoryId = historyId,
CreatedBy = accountId,
CreatedDate = DateTime.Now,
Status = 1, // Call Initiated
InProgress = true,
CallType = callType
};
responseId = await this.unitOfWork.TelemedicineCallHistory.InsertAsync(callHistoryModel);
}
else
{
var activeCallHistory = await this.unitOfWork.TelemedicineCallHistory.FindAsync(x => x.TelemedicineHistoryId == history.TelemedicineHistoryId && x.InProgress == true);
if (activeCallHistory == null)
{
var callHistoryModel = new TelemedicineCallHistory
{
TelemedicineHistoryId = history.TelemedicineHistoryId,
CreatedBy = accountId,
CreatedDate = DateTime.Now,
Status = 1, // Call Initiated
InProgress = true,
CallType = callType
};
responseId = await this.unitOfWork.TelemedicineCallHistory.InsertAsync(callHistoryModel);
}
else
{
activeCallHistory.InProgress = true;
activeCallHistory.ModifiedBy = accountId;
activeCallHistory.ModifiedDate = DateTime.Now;
await this.unitOfWork.TelemedicineCallHistory.UpdateAsync(activeCallHistory);
responseId = activeCallHistory.TelemedicineCallHistoryId;
}
}
return responseId;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> PatientCallIntimateAsync(int telemedicineCallId, int receiverId, int callerId)
{
try
{
// 1 = Got Call
//var activeOpponentUser = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
// x => x.TelemedicineCallHistoryId == telemedicineCallId &&
// x.AccountId == receiverId && x.CallerId == callerId && x.Status == 1);
var activeOpponentUser = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
x => x.TelemedicineCallHistoryId == telemedicineCallId &&
x.InProgress == true);
if (activeOpponentUser == null || !activeOpponentUser.Any())
{
var userId = 0;
var users = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
x => x.TelemedicineCallHistoryId == telemedicineCallId &&
x.AccountId == callerId && x.CallerId == callerId);
if (users == null || !users.Any())
{
var providerUser = new TelemedicineUsersHistory
{
AccountId = callerId,
CallerId = callerId,
Status = 2, // Got Call
Date = DateTime.Now,
InProgress = true,
TelemedicineCallHistoryId = telemedicineCallId
};
userId = await this.unitOfWork.TelemedicineUsersHistory.InsertAsync(providerUser);
}
var user = new TelemedicineUsersHistory
{
AccountId = receiverId,
CallerId = callerId,
Status = 1, // Got Call
Date = DateTime.Now,
TelemedicineCallHistoryId = telemedicineCallId
};
userId += await this.unitOfWork.TelemedicineUsersHistory.InsertAsync(user);
return userId;
}
return 0;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> InitiatePatientCallIntimateAsync(int telemedicineCallId, int receiverId, int callerId)
{
try
{
// 1 = Got Call
//var activeOpponentUser = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
// x => x.TelemedicineCallHistoryId == telemedicineCallId &&
// x.AccountId == receiverId && x.CallerId == callerId && x.Status == 1);
var activeOpponentUser = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
x => x.TelemedicineCallHistoryId == telemedicineCallId &&
x.InProgress == true);
if (activeOpponentUser == null || !activeOpponentUser.Any())
{
var user = new TelemedicineUsersHistory
{
AccountId = receiverId,
CallerId = callerId,
Status = 1, // Got Call
Date = DateTime.Now,
TelemedicineCallHistoryId = telemedicineCallId
};
var response = await this.unitOfWork.TelemedicineUsersHistory.InsertAsync(user);
return response;
}
return 0;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> InitializeCallAsync(int telemedicineCallId, int callerId)
{
try
{
var record =
await this.unitOfWork.TelemedicineCallHistory.FindAsync(x =>
x.TelemedicineCallHistoryId == telemedicineCallId);
if (record == null) return 0;
record.Status = 1;
record.InProgress = true;
record.ModifiedDate = DateTime.Now;
record.ModifiedBy = callerId;
var response = await this.unitOfWork.TelemedicineCallHistory.UpdateAsync(record);
return response;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> CallJoinAsync(int telemedicineCallId, int receiverId)
{
try
{
var users = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
x => x.TelemedicineCallHistoryId == telemedicineCallId && x.AccountId == receiverId);
var telemedicineUsersHistories = users.ToList();
if (telemedicineUsersHistories.Any())
{
foreach (var user in telemedicineUsersHistories)
{
user.Status = 2; // Call Accepted
user.Date = DateTime.Now;
user.InProgress = true;
}
var userId = await this.unitOfWork.TelemedicineUsersHistory.BulkUpdateAsync(telemedicineUsersHistories);
if (userId)
{
// update all call Initiated records to In Progress
var telemedicineCallHistory = await this.unitOfWork.TelemedicineCallHistory.FindAllAsync(x =>
x.TelemedicineCallHistoryId == telemedicineCallId && x.InProgress == true);
var telemedicineCallHistories = telemedicineCallHistory.ToList();
if (telemedicineCallHistories.Any())
{
foreach (var call in telemedicineCallHistories)
{
call.Status = 2; // In Progress
}
var response = await this.unitOfWork.TelemedicineCallHistory.BulkUpdateAsync(telemedicineCallHistories);
return response ? 1 : 0;
}
return 1;
}
return 0;
}
else
{
var firstUser = await this.unitOfWork.TelemedicineUsersHistory.FindAsync(
x => x.TelemedicineCallHistoryId == telemedicineCallId);
var user = new TelemedicineUsersHistory
{
AccountId = receiverId,
CallerId = firstUser?.CallerId ?? receiverId,
Status = 2, // Got Call
Date = DateTime.Now,
InProgress = true,
TelemedicineCallHistoryId = telemedicineCallId
};
var userId = await this.unitOfWork.TelemedicineUsersHistory.InsertAsync(user);
return userId;
}
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> DoctorCallCloseAsync(int telemedicineCallId, int accountId)
{
try
{
var telemedicineCallHistory =
await this.unitOfWork.TelemedicineUsersHistory.FindAsync(x =>
x.TelemedicineCallHistoryId == telemedicineCallId && x.AccountId == accountId);
telemedicineCallHistory.Status = 4; // Call Cancelled
telemedicineCallHistory.InProgress = false;
var responseId = await this.unitOfWork.TelemedicineUsersHistory.UpdateAsync(telemedicineCallHistory);
return responseId;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> CallLogAsync(CallLog callLog)
{
try
{
var response = await this.unitOfWork.CallLog.InsertAsync(callLog);
return response;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> CallCloseAllAsync(int telemedicineCallId)
{
try
{
if (telemedicineCallId == 0)
{
return 0;
}
var telemedicineCallHistory =
await this.unitOfWork.TelemedicineCallHistory.FindAsync(x =>
x.TelemedicineCallHistoryId == telemedicineCallId);
var query = $@"SELECT h.""Status""
--, s.""Name"", a.""FullName"", ch.""TelemedicineHistoryId""
FROM ""TelemedicineUsersHistory"" h
LEFT JOIN ""TelemedicineCallHistory"" ch on ch.""TelemedicineCallHistoryId"" = h.""TelemedicineCallHistoryId""
LEFT JOIN ""TelemedicineUsersHistoryStatus"" s on s.""TelemedicineUsersHistoryStatus""::int = h.""Status""
LEFT JOIN ""Account"" a on a.""AccountId"" = h.""AccountId""
WHERE ch.""TelemedicineHistoryId"" IN(
select ""TelemedicineHistoryId"" from ""TelemedicineCallHistory""
WHERE ""TelemedicineCallHistoryId"" = {telemedicineCallId}
LIMIT 1
)
AND a.""RoleId"" = 4
ORDER BY h.""TelemedicineUsersHistoryId"" DESC
LIMIT 1";
var recentStatus = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int?>(query);
if (recentStatus == 2 || recentStatus == 4 || recentStatus == null)
{
telemedicineCallHistory.Status = 3; // Call Complete
var users = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
x => x.TelemedicineCallHistoryId == telemedicineCallId);
var telemedicineUsersHistories = users.ToList();
if (telemedicineUsersHistories.Any())
{
foreach (var user in telemedicineUsersHistories)
{
user.InProgress = false;
}
await this.unitOfWork.TelemedicineUsersHistory.BulkUpdateAsync(telemedicineUsersHistories);
}
}
telemedicineCallHistory.InProgress = false;
var responseId = await this.unitOfWork.TelemedicineCallHistory.UpdateAsync(telemedicineCallHistory);
return recentStatus == 2 || recentStatus == 4 ? responseId : -1;
//var users = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
// x => x.TelemedicineCallHistoryId == telemedicineCallId);
//var telemedicineUsersHistories = users.ToList();
//if (telemedicineUsersHistories.Any())
//{
// foreach (var user in telemedicineUsersHistories)
// {
// user.Status = 4; // Complete
// user.Date = DateTime.Now;
// }
// var response = await this.unitOfWork.TelemedicineUsersHistory.BulkUpdateAsync(telemedicineUsersHistories);
// return response ? 1 : 0;
//}
// return responseId;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<string> SetTemplateAsync(int telemedicineCallId, int templateId, int accountId)
{
try
{
var activeTemplates = await this.unitOfWork.TelemedicineTemplateHistory.FindAllAsync(x => x.TelemedicineCallHistoryId == telemedicineCallId && x.Status);
var telemedicineTemplateHistories = activeTemplates.ToList();
if (telemedicineTemplateHistories.Any())
{
foreach (var template in telemedicineTemplateHistories)
{
template.Status = false;
template.ModifiedBy = accountId;
template.ModifiedDate = DateTime.Now;
}
await this.unitOfWork.TelemedicineTemplateHistory.BulkUpdateAsync(telemedicineTemplateHistories);
}
var telemedicineTemplate = new TelemedicineTemplateHistory
{
CreatedBy = accountId,
CreatedDate = DateTime.Now,
Status = true,
TelemedicineCallHistoryId = telemedicineCallId,
TelemedicineTemplateId = templateId
};
var insertResponse = await this.unitOfWork.TelemedicineTemplateHistory.InsertAsync(telemedicineTemplate);
return insertResponse > 0 ? (await this.unitOfWork.TelemedicineTemplate.FindAsync(x => x.TelemedicineTemplateId == templateId)).Name : null;
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public async Task<string> GetTemplateAsync(int templateId)
{
try
{
return (await this.unitOfWork.TelemedicineTemplate.FindAsync(x => x.TelemedicineTemplateId == templateId)).Name;
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public async Task<int> OthersCallCloseAsync(int telemedicineCallId, int receiverId)
{
try
{
var users = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
x => x.TelemedicineCallHistoryId == telemedicineCallId && x.AccountId == receiverId);
var telemedicineUsersHistories = users.ToList();
var response = false;
if (telemedicineUsersHistories.Any())
{
foreach (var user in telemedicineUsersHistories)
{
user.Status = 4; // Complete
user.InProgress = false;
user.Date = DateTime.Now;
}
response = await this.unitOfWork.TelemedicineUsersHistory.BulkUpdateAsync(telemedicineUsersHistories);
}
var inProgress = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(x => x.TelemedicineCallHistoryId == telemedicineCallId && x.InProgress == true);
if (!inProgress.Any())
{
var telemedicine = await this.unitOfWork.TelemedicineCallHistory.FindAsync(x => x.TelemedicineCallHistoryId == telemedicineCallId);
if (telemedicine != null)
{
telemedicine.InProgress = false;
await this.unitOfWork.TelemedicineCallHistory.UpdateAsync(telemedicine);
}
}
return response ? 1 : 0;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> CallRejectAsync(int telemedicineCallId, int accountId)
{
try
{
var users = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(
x => x.TelemedicineCallHistoryId == telemedicineCallId && x.AccountId == accountId);
var telemedicineUsersHistories = users.ToList();
bool response = false;
if (telemedicineUsersHistories.Any())
{
foreach (var user in telemedicineUsersHistories)
{
user.Status = 3; // Rejected
user.Date = DateTime.Now;
}
response = await this.unitOfWork.TelemedicineUsersHistory.BulkUpdateAsync(telemedicineUsersHistories);
}
var inProgress = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(x => x.TelemedicineCallHistoryId == telemedicineCallId && x.InProgress == true);
if (!inProgress.Any())
{
var telemedicine = await this.unitOfWork.TelemedicineCallHistory.FindAsync(x => x.TelemedicineCallHistoryId == telemedicineCallId);
if (telemedicine != null)
{
telemedicine.InProgress = false;
await this.unitOfWork.TelemedicineCallHistory.UpdateAsync(telemedicine);
}
}
return response ? 1 : 0;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> CallCancelAsync(int telemedicineCallId)
{
try
{
if (telemedicineCallId == 0)
{
return 0;
}
var telemedicineCallHistory =
await this.unitOfWork.TelemedicineCallHistory.FindAsync(x =>
x.TelemedicineCallHistoryId == telemedicineCallId);
telemedicineCallHistory.Status = 4; // Call Cancelled
var responseId = await this.unitOfWork.TelemedicineCallHistory.UpdateAsync(telemedicineCallHistory);
return responseId;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<int> CallCloseAllAsync(int telemedicineCallId, int accountId)
{
if (telemedicineCallId <= 0)
{
return 0;
}
try
{
var record = await this.unitOfWork.TelemedicineCallHistory.FindAsync(x => x.TelemedicineCallHistoryId == telemedicineCallId);
record.Status = 2;
record.ModifiedBy = accountId;
record.ModifiedDate = DateTime.Now;
var responseId = await this.unitOfWork.TelemedicineCallHistory.UpdateAsync(record);
return responseId;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<IEnumerable<AccountSessionModel>> GetJoinDeviceTokensAsync(int telemedicineCallId, int accountId)
{
try
{
var users = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(x => x.TelemedicineCallHistoryId == telemedicineCallId);
var telemedicineUsersHistories = users.ToList();
var receiverIds = telemedicineUsersHistories.ToList().Select(x => x.AccountId).Where(x => x != accountId);
var callerIds = telemedicineUsersHistories.ToList().Select(x => x.CallerId).Where(x => x != accountId);
var ids = new List<int>();
ids.AddRange(receiverIds);
ids.AddRange((IEnumerable<int>)callerIds);
ids = ids.Where(x => x != accountId).ToList();
// var ids = users.ToList().Select(x => x.CallerId).Where(x => x != accountId);
var strAccountIds = string.Join(',', ids.ToArray());
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Account"" ac
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE ac.""AccountId"" IN ({strAccountIds}) AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
var records = await this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
return records;
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public async Task<IEnumerable<AccountSessionModel>> GetProviderDeviceTokensAsync(int referenceId)
{
try
{
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Account"" ac
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE ac.""ReferenceId"" = {referenceId} and ac.""RoleId"" = 3 AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
var records = await this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
return records;
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public async Task<IEnumerable<AccountSessionModel>> GetAssistantsDeviceTokensAsync(string referenceIds)
{
try
{
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Account"" ac
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE ac.""ReferenceId"" in ({referenceIds}) and ac.""RoleId"" in ({(int)Roles.Nurse}, {(int)Roles.Receptionist}) AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
var records = await this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
return records;
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public async Task<IEnumerable<int>> GetAssistantIdsAsync(int providerId)
{
var where = $@"WHERE u.""RoleId"" in ({(int)Roles.Nurse}, {(int)Roles.Receptionist}) AND u.""Active"" IS TRUE ";
string join = string.Empty;
var provider = await this.unitOfWork.Providers.FindAsync(m => m.ProviderId == providerId);
where += $@" AND pl.""ProviderId"" = {providerId} ";
join = @" left join ""ProviderLocation"" pl on u.""ProviderLocationId"" = pl.""ProviderLocationId"" ";
try
{
var query = $@"select u.""UserId"" from ""User"" u
{join} {where} ";
var userIds = await this.unitOfWork.Current.QueryAsync<int>(query);
return userIds;
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public async Task<IEnumerable<AccountSessionModel>> GetCallCloseAllDeviceTokensAsync(int telemedicineCallId, int accountId)
{
try
{
var users = await this.unitOfWork.TelemedicineUsersHistory.FindAllAsync(x => x.TelemedicineCallHistoryId == telemedicineCallId);
// var telemedicineUsersHistories = users.Where(x => x.Status == 2 || x.Status == 1).ToList();
var telemedicineUsersHistories = users.ToList();
var receiverIds = telemedicineUsersHistories.ToList().Select(x => x.AccountId).Where(x => x != accountId);
var callerIds = telemedicineUsersHistories.ToList().Select(x => x.CallerId).Where(x => x != accountId);
var ids = new List<int>();
ids.AddRange(receiverIds);
ids.AddRange(callerIds);
ids = ids.Where(x => x != accountId).ToList();
var strAccountIds = string.Join(',', ids.ToArray());
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Account"" ac
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE ac.""AccountId"" IN ({strAccountIds}) AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
var records = await this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
return records;
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public async Task<int> GetReceiverTelemedicineId(string appointmentNo, int receiverId)
{
try
{
var appointment = await this.unitOfWork.Appointments.FindAsync(x => x.AppointmentNo == appointmentNo);
var history = await this.unitOfWork.TelemedicineHistory.FindAsync(x => x.AppointmentId == appointment.AppointmentId);
if (history != null)
{
var query = $@"SELECT
c.""TelemedicineCallHistoryId""
FROM
""TelemedicineCallHistory""
C JOIN ""TelemedicineHistory"" h ON h.""TelemedicineHistoryId"" = C.""TelemedicineHistoryId""
--JOIN ""TelemedicineUsersHistory"" tu on tu.""TelemedicineCallHistoryId"" = C.""TelemedicineCallHistoryId""
WHERE h.""AppointmentId"" = '{appointment.AppointmentId}'
AND c.""InProgress"" = TRUE
-- AND c.""Status"" = 1 AND ""AccountId"" = '{receiverId}'
ORDER BY ""TelemedicineCallHistoryId"" DESC LIMIT 1";
var id = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(query);
return id;
}
return 0;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public async Task<TelemedicineCallHistory> GetTelemedicineCallHistory(string appointmentNo, int receiverId)
{
try
{
var appointment = await this.unitOfWork.Appointments.FindAsync(x => x.AppointmentNo == appointmentNo);
var history = await this.unitOfWork.TelemedicineHistory.FindAsync(x => x.AppointmentId == appointment.AppointmentId);
if (history != null)
{
var query = $@"SELECT c.* FROM ""TelemedicineCallHistory"" C
JOIN ""TelemedicineHistory"" h ON h.""TelemedicineHistoryId"" = C.""TelemedicineHistoryId""
--JOIN ""TelemedicineUsersHistory"" tu on tu.""TelemedicineCallHistoryId"" = C.""TelemedicineCallHistoryId""
WHERE h.""AppointmentId"" = '{appointment.AppointmentId}'
-- AND c.""InProgress"" = TRUE
-- AND c.""Status"" = 1 AND ""AccountId"" = '{receiverId}'
ORDER BY ""TelemedicineCallHistoryId"" DESC LIMIT 1";
var teleMedicineCallHistory = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<TelemedicineCallHistory>(query);
return teleMedicineCallHistory;
}
return new TelemedicineCallHistory();
}
catch (Exception)
{
return new TelemedicineCallHistory();
}
}
/// <inheritdoc />
public async Task<int> GetCallerTelemedicineId(string appointmentNo, int callerId)
{
try
{
var appointment = await this.unitOfWork.Appointments.FindAsync(x => x.AppointmentNo == appointmentNo);
var history = await this.unitOfWork.TelemedicineHistory.FindAsync(x => x.AppointmentId == appointment.AppointmentId);
if (history != null)
{
var query = $@"SELECT
c.""TelemedicineCallHistoryId""
FROM
""TelemedicineCallHistory""
C JOIN ""TelemedicineHistory"" h ON h.""TelemedicineHistoryId"" = C.""TelemedicineHistoryId""
JOIN ""TelemedicineUsersHistory"" tu on tu.""TelemedicineCallHistoryId"" = C.""TelemedicineCallHistoryId""
WHERE h.""AppointmentId"" = '{appointment.AppointmentId}'
AND c.""InProgress"" = TRUE
-- AND ""CallerId"" = '{callerId}'
ORDER BY ""TelemedicineCallHistoryId"" DESC LIMIT 1";
var id = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(query);
return id;
}
return 0;
}
catch (Exception)
{
return 0;
}
}
/// <inheritdoc />
public Task<IEnumerable<TelemedicineUserModel>> GetNursesOrReceptionists(string appointmentNo)
{
var appointment = this.unitOfWork.Appointments.Find(m => m.AppointmentNo == appointmentNo);
var and = string.Empty;
var query = string.Empty;
query = $@"SELECT DISTINCT ac.""AccountId"",'Dr.' || ac.""FullName"" ""FullName"", ac.""RoleId"" FROM ""Provider"" p
JOIN ""Account"" ac on ac.""ReferenceId"" = p.""ProviderId"" AND ac.""Active"" IS TRUE {and}
WHERE ac.""RoleId"" = 3 AND ac.""ReferenceId"" IN (SELECT ""ProviderId"" FROM ""Provider"" WHERE ""ProviderId"" IN (
SELECT ""ProviderId"" FROM ""ProviderLocation"" WHERE ""PracticeLocationId"" IN (
SELECT ""PracticeLocationId"" FROM ""PracticeLocation"" WHERE ""PracticeId"" IN (
SELECT ""PracticeId"" FROM ""PracticeLocation"" WHERE ""PracticeLocationId"" IN (
SELECT ""PracticeLocationId"" FROM ""ProviderLocation"" WHERE ""ProviderLocationId"" IN (
SELECT ""ProviderLocationId"" FROM ""Appointment"" WHERE ""AppointmentNo"" = '{appointmentNo}' ))) AND ""Active"" IS TRUE ) AND ""Active"" IS TRUE) AND ""Active"" IS TRUE )";
return this.unitOfWork.Current.QueryAsync<TelemedicineUserModel>(query);
}
/// <inheritdoc />
public async Task<string> GetRoomName(string appointmentNo)
{
var query = $@"select p.""FirstName"", p.""MiddleName"", p.""LastName"" from ""Appointment"" a
JOIN ""Patient"" p on p.""PatientId"" = a.""PatientId""
WHERE a.""AppointmentNo"" = '{appointmentNo}'";
var names = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<NameModel>(query);
var fullName = names.FirstName.Trim() + " " +
(!string.IsNullOrEmpty(names.MiddleName) ? names.MiddleName.Trim() + " " : "") +
names.LastName.Trim();
return fullName;
}
/// <inheritdoc />
public async Task<StatusResponse> GetActiveRoomName(string appointmentNo)
{
try
{
var appointment = await this.unitOfWork.Appointments.FindAsync(x => x.AppointmentNo == appointmentNo);
if (appointment != null)
{
if (appointment.AppointmentDate.Date >= DateTime.Today)
{
var query = $@"select p.""FirstName"", p.""MiddleName"", p.""LastName"" from ""Appointment"" a
JOIN ""Patient"" p on p.""PatientId"" = a.""PatientId""
WHERE a.""AppointmentNo"" = '{appointmentNo}'";
var names = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<NameModel>(query);
var fullName = names.FirstName.Trim() + " " +
(!string.IsNullOrEmpty(names.MiddleName) ? names.MiddleName.Trim() + " " : "") +
names.LastName.Trim();
return new StatusResponse
{
Status = 1,
Message = "Appointment found and active",
Data = fullName
};
}
return new StatusResponse
{
Status = 2,
Message = "Appointment time expired"
};
}
return new StatusResponse
{
Status = 3,
Message = "Appointment not found"
};
}
catch (Exception ex)
{
return new StatusResponse
{
Status = 4,
Message = ex.Message
};
}
}
/// <inheritdoc />
public async Task<BasicPatientDetailsModel> GetPatientDetails(string appointmentNo)
{
try
{
var appointment = await this.unitOfWork.Appointments.FindAsync(x => x.AppointmentNo == appointmentNo);
var patient = await this.unitOfWork.Patients.FindAsync(x => x.PatientId == appointment.PatientId);
return new BasicPatientDetailsModel
{
CountryId = patient.CountryId ?? 0,
Email = patient.Email,
Mobile = patient.Mobile,
FullName = patient.FullName
};
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public async Task<BasicPatientDetailsModel> GetProviderDetails(string appointmentNo)
{
try
{
var appointment = await this.unitOfWork.Appointments.FindAsync(x => x.AppointmentNo == appointmentNo);
var provider = await this.unitOfWork.Providers.FindAsync(x => x.ProviderId == appointment.ProviderId);
return new BasicPatientDetailsModel
{
CountryId = provider.CountryId ?? 0,
Email = provider.Email,
Mobile = provider.Mobile,
FullName = "Dr. " + provider.FullName
};
}
catch (Exception)
{
return null;
}
}
/// <inheritdoc />
public Task<IEnumerable<int>> GetNoOfCalls(int appointmentId)
{
var query = $@"SELECT
DISTINCT C.""TelemedicineCallHistoryId""
FROM
""TelemedicineCallHistory""
C JOIN ""TelemedicineHistory"" h ON h.""TelemedicineHistoryId"" = C.""TelemedicineHistoryId""
WHERE h.""AppointmentId"" = {appointmentId} ORDER BY C.""TelemedicineCallHistoryId"" DESC ";
return this.unitOfWork.Current.QueryAsync<int>(query);
}
/// <inheritdoc />
public Task<IEnumerable<CallHistoryModel>> GetCallHistory(int appointmentId, int telemedicineCallHistoryId)
{
var query = $@"SELECT
h.""AppointmentId"",
C.""TelemedicineCallHistoryId"",
C.""Status"",
C.""CreatedDate"",
C.""ModifiedDate"",
r.""RoleName"",
a.""FullName"",
cr.""RoleName"" AS ""CallerRoleName"",
ca.""FullName"" AS ""CallerFullName"",
u.""Status"" as ""UserCallStatus"",
u.""Date"",
a.""AccountId"",
h.""CallType""
FROM
""TelemedicineCallHistory""
C JOIN ""TelemedicineHistory"" h ON h.""TelemedicineHistoryId"" = C.""TelemedicineHistoryId""
LEFT JOIN ""TelemedicineUsersHistory"" u ON u.""TelemedicineCallHistoryId"" = C.""TelemedicineCallHistoryId""
LEFT JOIN ""Account"" A ON A.""AccountId"" = u.""AccountId""
LEFT JOIN ""Account"" CA ON CA.""AccountId"" = u.""CallerId""
LEFT JOIN ""Role"" r on r.""RoleId"" = a.""RoleId""
LEFT JOIN ""Role"" cr on cr.""RoleId"" = ca.""RoleId""
WHERE h.""AppointmentId"" = {appointmentId} AND c.""TelemedicineCallHistoryId"" = {telemedicineCallHistoryId}
ORDER BY u.""TelemedicineUsersHistoryId"" DESC ";
return this.unitOfWork.Current.QueryAsync<CallHistoryModel>(query);
}
/// <inheritdoc />
public Task<TelemedicineUserModel> GetUserAccount(int accountId)
{
var query = $@"select ""FullName"", ""Email"" from ""Account""
WHERE ""AccountId"" = '{accountId}'";
return this.unitOfWork.Current.QuerySingleOrDefaultAsync<TelemedicineUserModel>(query);
}
/// <inheritdoc />
public async Task<TelemedicineDomainModel> GetActiveDomain(string appointmentNo)
{
var record = await this.unitOfWork.TelemedicineDomain.FindAsync(x => x.IsActive);
var data = new TelemedicineDomainModel
{
Domain = record.Domain,
IsAuthenticationRequired = record.IsAuthenticationRequired
};
if (!string.IsNullOrEmpty(appointmentNo))
{
var appointment = await this.unitOfWork.Appointments.FindAsync(m => m.AppointmentNo == appointmentNo);
var account = await this.unitOfWork.Accounts.FindAsync(m => m.ReferenceId == appointment.PatientId && m.RoleId == (int)Roles.Patient);
data.AccountId = account != null ? account.AccountId : 0;
data.FullName = account != null ? account.FullName : null;
}
return data;
}
/// <inheritdoc />
public async Task<List<TelemedicineTemplateModel>> GetAllTemplates()
{
var records = await this.unitOfWork.TelemedicineTemplate.FindAllAsync();
return records.Select(record => new TelemedicineTemplateModel { Id = record.TelemedicineTemplateId, Name = record.Name }).ToList();
}
/// <inheritdoc />
public Task<TelemedicineAppointmentModel> GetAppointmentDetails(string appointmentNo)
{
var query = $@"select a.""EncounterType"", a.""AppointmentId"",
p.""FullName"" AS ""PatientFullName"",
p.""FirstName"" AS ""PatientFirstName"",
pp.""FullName"" AS ""ProviderFullName"",
pp.""FirstName"" AS ""ProviderFirstName"",
patAcc.""AccountId"" AS ""PatientAccountId"",
proAcc.""AccountId"" AS ""ProviderAccountId""
FROM ""Appointment"" a
JOIN ""Patient"" p on p.""PatientId"" = a.""PatientId""
JOIN ""Account"" patAcc on (patAcc.""ReferenceId"" = p.""PatientId"" AND patAcc.""RoleId"" = 4)
JOIN ""Provider"" pp on pp.""ProviderId"" = a.""ProviderId""
JOIN ""Account"" proAcc on (proAcc.""ReferenceId"" = pp.""ProviderId"" AND proAcc.""RoleId"" = 3)
WHERE a.""AppointmentNo"" = '{appointmentNo}'";
return this.unitOfWork.Current.QuerySingleAsync<TelemedicineAppointmentModel>(query);
}
/// <inheritdoc />
public Task<IEnumerable<AccountSessionModel>> GetDoctorDeviceTokens(string appointmentNo)
{
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Appointment"" a
JOIN ""Account"" ac on ac.""ReferenceId"" = a.""ProviderId""
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE a.""AppointmentNo"" = '{appointmentNo}' AND ac.""RoleId"" = 3 AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string' ";
return this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
}
/// <inheritdoc />
public Task<IEnumerable<AccountSessionModel>> GetPatientDeviceTokens(string appointmentNo)
{
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Appointment"" a
JOIN ""Account"" ac on ac.""ReferenceId"" = a.""PatientId""
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE a.""AppointmentNo"" = '{appointmentNo}'
AND ac.""RoleId"" = 4
AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string' ";
return this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
}
/// <inheritdoc />
public Task<IEnumerable<AccountSessionModel>> GetPatientIosDeviceTokens(string appointmentNo)
{
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Appointment"" a
JOIN ""Account"" ac on ac.""ReferenceId"" = a.""PatientId""
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE a.""AppointmentNo"" = '{appointmentNo}' AND ac.""RoleId"" = 4 AND acs.""DeviceType"" = 3
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
return this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
}
/// <inheritdoc />
public Task<IEnumerable<AccountSessionModel>> GetNurseOrReceptionistDeviceTokensAlt(int roleId, int accountId)
{
var query = $@"select DISTINCT acs.""DeviceToken"", acs.""DeviceType"" from ""Account"" ac
JOIN ""AccountSession"" acs on acs.""AccountId"" = ac.""AccountId""
WHERE ac.""AccountId"" = {accountId} AND ac.""RoleId"" = {roleId} AND acs.""DeviceType"" != 1
AND ac.""Active"" IS TRUE
AND acs.""DeviceToken"" != 'string'";
return this.unitOfWork.Current.QueryAsync<AccountSessionModel>(query);
}
/// <inheritdoc />
public Task<int> GetPatientAccountId(string appointmentNo)
{
var query = $@"select ac.""AccountId"" from ""Appointment"" a
JOIN ""Account"" ac on ac.""ReferenceId"" = a.""PatientId""
WHERE a.""AppointmentNo"" = '{appointmentNo}' LIMIT 1 ";
return this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(query);
}
/// <inheritdoc />
public Task<int> GetDoctorAccountId(string appointmentNo)
{
var query = $@"select ac.""AccountId"" from ""Appointment"" a
JOIN ""Account"" ac on ac.""ReferenceId"" = a.""ProviderId""
WHERE a.""AppointmentNo"" = '{appointmentNo}' LIMIT 1 ";
return this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>(query);
}
/// <inheritdoc />
public Task<IEnumerable<RoomDetails>> FetchRoomNamesAsync(List<int> appointmentIds)
{
var query = $@"select w.""WebTelemedicineId"", a.""AppointmentNo"" as ""RoomName"" from ""WebTelemedicine"" w
LEFT JOIN ""Appointment"" a on a.""AppointmentId"" = w.""AppointmentId""
LEFT JOIN ""Account"" ac on ac.""ReferenceId"" = a.""ProviderId""
WHERE w.""AppointmentId"" IN ({string.Join(',', appointmentIds)}) AND w.""Status"" <> 2 AND ac.""RoleId"" = 3 AND w.""CreatedDate"" >= NOW() - INTERVAL '2 minutes'";
return this.unitOfWork.Current.QueryAsync<RoomDetails>(query);
}
}
}
\ No newline at end of file
using Dapper;
using Hims.Domain.Entities;
using Hims.Domain.Repositories.UnitOfWork;
using Hims.Domain.Services;
using Hims.Shared.UserModels;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace Hims.Infrastructure.Services
{
public class WhatsAppTicketsService : IWhatsAppTicketsService
{
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IWardService" />
public WhatsAppTicketsService(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
/// <inheritdoc/>
public async Task<int> ChangeStatus(WhatsAppTicketsModel model)
{
var OldWhatsAppTicket = await this.unitOfWork.WhatsAppTickets.FindAsync(l => l.TicketId == model.TicketId);
if (OldWhatsAppTicket == null)
{
return -3;
}
OldWhatsAppTicket.Solved = (bool)!model.Solved;
OldWhatsAppTicket.ModifiedBy = model.ModifiedBy;
OldWhatsAppTicket.ModifiedDate = DateTime.Now;
return await this.unitOfWork.WhatsAppTickets.UpdateAsync(OldWhatsAppTicket);
}
/// <inheritdoc/>
public Task<IEnumerable<WhatsAppTicketsModel>> GetAllWhatsAppTickets(WhatsAppTicketsModel model)
{
string where = "where 1=1 ";
if (!string.IsNullOrEmpty(model.Name))
{
where += $@" and lower(wt.""Name"") ilike '%{model.Name.ToLower()}%' ";
}
if (model.Solved != null)
{
where += $@" and wt.""Solved"" = {model.Solved}";
}
if(model.Mobile != null)
{
where += $@" and wt.""Mobile"" ilike '%{model.Mobile}%' ";
}
var Query = $@"select count(*) over () as ""TotalItems"", wt.""TicketId"",wt.""TicketNo"",wt.""Mobile"",wt.""Name"",
wt.""Regarding"", wt.""Solved"",wt.""CreatedDate"" , wt.""ModifiedBy"", B.""FullName"" as ""ModifiedByName"" , wt.""ModifiedDate"" From ""WhatsAppTickets"" wt
left join ""Account"" B on B.""AccountId"" = wt.""ModifiedBy"" {where} Order by wt.""TicketId"" desc";
if (model.PageSize != null && model.PageIndex != null)
{
model.PageIndex = model.PageIndex > 0 ? model.PageIndex - 1 : model.PageIndex;
Query += $@" limit {model.PageSize} offset {model.PageIndex * model.PageSize}";
}
return this.unitOfWork.Current.QueryAsync<WhatsAppTicketsModel>(Query);
}
}
}

namespace Hims.Infrastructure.Services
{
using Dapper;
using Hims.Domain.Entities;
using Hims.Domain.Repositories.UnitOfWork;
using Hims.Domain.Services;
using Hims.Shared.UserModels;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
public class WorkingHourServices : IWorkingHourService
{
/// <summary>
/// The unit of work.
/// </summary>
private readonly IUnitOfWork unitOfWork;
/// <inheritdoc cref="IWorkingHourService" />
public WorkingHourServices(IUnitOfWork unitOfWork) => this.unitOfWork = unitOfWork;
public async Task<IEnumerable<WorkingHourModel>> FetchAllAsyn(WorkingHourModel model)
{
var where = "where 1=1";
var query = $@"select WH.""WorkingHourId"", WH.""StartTime"", WH.""StartDate"", WH.""EndDate"", WH.""EndTime"", WH.""Active"",WH.""CreatedBy"", WH.""CreatedDate"",
WH.""ModifiedBy"", WH.""ModifiedDate"",
ac.""FullName"" as ""CreatedByName"", CR.""RoleName"" as ""CreatedByRole"",
M.""FullName"" as ""ModifiedByName"", MR.""RoleName"" as ""ModifiedByRole""
from ""WorkingHour"" WH
JOIN ""Account"" ac on ac.""AccountId""=WH.""CreatedBy""
join ""Role"" CR on CR.""RoleId"" = ac.""RoleId""
left join ""Account"" M on M.""AccountId"" = WH.""ModifiedBy""
left join ""Role"" MR on MR.""RoleId"" = M.""RoleId""
{ where}
order by WH.""CreatedDate"" desc";
return await this.unitOfWork.Current.QueryAsync<WorkingHourModel>(query);
}
public async Task<int> InsertAsync(WorkingHourModel model)
{
var checkIf = await this.unitOfWork.Current.QuerySingleOrDefaultAsync<int>($@"select count(*) from ""WorkingHour"" where ""StartDate"" ilike'{model.StartDate}' and ""EndDate"" ilike '{model.EndDate}' and ""StartTime"" ilike '{model.StartTime}' and ""EndTime"" ilike '{model.EndTime}'");
if (checkIf > 0)
{
return -1;
}
var workingHour = new WorkingHour
{
StartDate = model.StartDate,
StartTime = model.StartTime,
EndDate = model.EndDate,
EndTime = model.EndTime,
CreatedBy = model.CreatedBy,
Active = true,
CreatedDate = DateTime.Now,
};
return await this.unitOfWork.WorkingHour.InsertAsync(workingHour);
}
public async Task<int> ActivateOrDeactivateTest(WorkingHourModel model)
{
var query = $@"UPDATE ""WorkingHour""
SET ""ModifiedBy""={model.CreatedBy}, ""ModifiedDate""=now(), ""Active""= {model.Active}
WHERE ""WorkingHourId""= {model.WorkingHourId}";
return await this.unitOfWork.Current.ExecuteAsync(query);
}
/// <inheritdoc/>
public async Task<int> UpdateAsync(WorkingHourModel model)
{
var record = await this.unitOfWork.WorkingHour.FindAsync(m => m.WorkingHourId == model.WorkingHourId);
if (record == null)
{
return -2;
}
record.ModifiedBy = model.CreatedBy;
record.ModifiedDate = DateTime.Now;
record.StartDate = model.StartDate;
record.StartTime = model.StartTime;
record.EndDate = model.EndDate;
record.EndTime = model.EndTime;
return await this.unitOfWork.WorkingHour.UpdateAsync(record);
}
}
}
# virtual-steth-portal
Virtual Steth Logs
\ No newline at end of file
{
"root": true,
"ignorePatterns": [
"projects/**/*"
],
"overrides": [
{
"files": [
"*.ts"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"@typescript-eslint/no-explicit-any": "off",
"@angular-eslint/component-class-suffix": "off"
}
},
{
"files": [
"*.html"
],
"extends": [
"plugin:@angular-eslint/template/recommended",
"plugin:@angular-eslint/template/accessibility"
],
"rules": {
"@angular-eslint/template/label-has-associated-control": "off"
}
}
]
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
namespace Hims.Admin.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
}
namespace Hims.Admin.Controllers
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Shared.Library;
using Utilities;
/// <inheritdoc />
[Route("api/identity")]
[Consumes("application/json")]
[Produces("application/json")]
[AllowAnonymous]
public class IdentityController : BaseController
{
/// <summary>
/// The sign in user.
/// </summary>
/// <param name="userIdentity">
/// The user identity model.
/// </param>
/// <returns>
/// The http response. <see cref="ActionResult"/>.
/// </returns>
[ProducesResponseType(200)]
[ProducesResponseType(500)]
[HttpPost]
[Route("sign-in")]
public async Task<ActionResult> SignInAsync([FromBody] UserAccount userIdentity)
{
try
{
var claims = new List<Claim> { new Claim("UserAccount", JsonConvert.SerializeObject(userIdentity)) };
var claimsIdentity = new ClaimsIdentity(claims, "login");
var principal = new ClaimsPrincipal(claimsIdentity);
await this.HttpContext.SignInAsync(principal);
return this.Success();
}
catch (Exception exception)
{
return this.ServerError(exception);
}
}
/// <summary>
/// The get user identity.
/// </summary>
/// <returns>
/// The http response. <see cref="ActionResult"/>.
/// </returns>
[ProducesResponseType(200)]
[ProducesResponseType(500)]
[HttpPost]
[Route("get")]
public ActionResult GetIdentity()
{
try
{
if (!this.User.Identity.IsAuthenticated)
{
return this.Success();
}
var user = this.User;
if (!(user.Identity is ClaimsIdentity identity))
{
return this.Success();
}
var userAccount = identity.Claims.SingleOrDefault(x => x.Type == "UserAccount")?.Value ?? string.Empty;
var userIdentity = JsonConvert.DeserializeObject<UserAccount>(userAccount);
return this.Success(userIdentity);
}
catch (Exception exception)
{
return this.ServerError(exception);
}
}
/// <summary>
/// The get user identity status.
/// </summary>
/// <returns>
/// The http response. <see cref="ActionResult"/>.
/// </returns>
[ProducesResponseType(200)]
[ProducesResponseType(500)]
[HttpPost]
[Route("status")]
public ActionResult GetStatus()
{
try
{
if (!this.User.Identity.IsAuthenticated)
{
return this.Success(0);
}
var user = this.User;
if (!(user.Identity is ClaimsIdentity identity))
{
return this.Success(0);
}
var userAccount = identity.Claims.SingleOrDefault(x => x.Type == "UserAccount")?.Value ?? string.Empty;
var userIdentity = JsonConvert.DeserializeObject<UserAccount>(userAccount);
return this.Success(userIdentity.RoleId);
}
catch (Exception exception)
{
return this.ServerError(exception);
}
}
/// <summary>
/// The update user identity.
/// </summary>
/// <param name="authToken">
/// The auth token model.
/// </param>
/// <returns>
/// The http response. <see cref="ActionResult"/>.
/// </returns>
[ProducesResponseType(200)]
[ProducesResponseType(500)]
[HttpPost]
[Route("update")]
public async Task<ActionResult> UpdateIdentityAsync([FromBody] AuthToken authToken)
{
try
{
var user = this.User;
if (!(user.Identity is ClaimsIdentity identity))
{
return this.ServerError();
}
var userAccount = identity.Claims.SingleOrDefault(x => x.Type == "UserAccount")?.Value ?? string.Empty;
var userIdentity = JsonConvert.DeserializeObject<UserAccount>(userAccount);
userIdentity.Token = authToken.Token;
userIdentity.ReferenceToken = authToken.ReferenceToken;
userIdentity.Expires = authToken.Expires;
userIdentity.AllowVideoCall = authToken.AllowVideoCall;
var claim = identity.Claims.ToList().SingleOrDefault(x => x.Type == "UserAccount");
identity.RemoveClaim(claim);
identity.AddClaim(new Claim("UserAccount", JsonConvert.SerializeObject(userIdentity)));
await this.HttpContext.SignInAsync(user);
return this.Success();
}
catch (Exception exception)
{
return this.ServerError(exception);
}
}
/// <summary>
/// The sign out user.
/// </summary>
/// <returns>
/// The http response. <see cref="ActionResult"/>.
/// </returns>
[ProducesResponseType(200)]
[ProducesResponseType(500)]
[HttpPost]
[Route("sign-out")]
public async Task<ActionResult> SignOutAsync()
{
try
{
await this.HttpContext.SignOutAsync();
return this.Success();
}
catch (Exception exception)
{
return this.ServerError(exception);
}
}
}
}
\ No newline at end of file
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using System;
using System.Text;
namespace Hims.Admin.Controllers
{
public class PaymentController : Controller
{
private readonly IConfiguration configuration;
public PaymentController(IConfiguration configuration)
{
this.configuration = configuration;
}
public IActionResult Result(IFormCollection collection)
{
dynamic item = JsonConvert.DeserializeObject(collection["responseToken"]);
int salucroStatusCode = item["status_code"];
string mode = item["custom4"];
//this.ViewBag.paymentMapHelperId = "Bill-"+item["custom"];
string custom = item["custom"];
string encodedCredential = "";
int admissionId = item["custom5"] ?? 0;
string module = item["custom6"];
string typeOfpayment = item["custom3"];
if (!string.IsNullOrEmpty(custom))
{
encodedCredential = Convert.ToBase64String(Encoding.UTF8.GetBytes(custom));
this.ViewBag.paymentMapHelperId = "Bill-" + encodedCredential;
}
if (mode == "Payment")
{
bool isMultiPayments = item["custom2"];
int moduleId = item["custom1"];
switch (moduleId)
{
case 1:
//Patient Registration success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Thank you for making payment. Patient Registered successfully.";
this.ViewBag.routingUrlWithBillId = "#/app/patients";
//this.ViewBag.routingUrlWithBillId = "#/app/patients/edit/Bill-" + encodedCredential.ToString();
this.ViewBag.paymentType = "Payment Success";
return this.View("PaymentSuccess");
}
//pending transaction from salucro
else if (salucroStatusCode == 1201)
{
this.ViewBag.message = "Thank you. Patient Registered successfully. Make the payment to check in and consult.";
this.ViewBag.routingUrlWithBillId = "#/app/patients";
this.ViewBag.paymentType = "Payment Inprogress";
return this.View("PaymentPending");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Payment got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/patients";
this.ViewBag.paymentType = "Payment Failure";
return this.View("PaymentFailure");
}
case 2:
//appointment success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Thank you for making payment. Appointment has been booked successfully.";
this.ViewBag.routingUrlWithBillId = isMultiPayments ? "#/app/init-payment" : "#/app/out-patients";
//this.ViewBag.routingUrlWithBillId = "#/app/out-patients";
this.ViewBag.paymentType = "Payment Success";
return this.View("PaymentSuccess");
}
//pending transaction from salucro
else if (salucroStatusCode == 1201)
{
this.ViewBag.message = "Thank you. Appointment has been booked successfully. Make the payment to check in and consult.";
this.ViewBag.routingUrlWithBillId = "#/app/out-patients";
this.ViewBag.paymentType = "Payment Inprogress";
return this.View("PaymentPending");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Payment got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/out-patients";
this.ViewBag.paymentType = "Payment Failure";
return this.View("PaymentFailure");
}
case 3:
//pharmacy success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Thank you for making payment. Your Pharmacy sale bill has been added successfully.";
var redirectToIfNotMultpile = (typeOfpayment == "FullPayment" || typeOfpayment == "MultiPaymodes") ? "#/app/pharmacy/sales-bill/Bill-" + encodedCredential.ToString(): "#/app/pharmacy/sales-bill";
this.ViewBag.routingUrlWithBillId = isMultiPayments ? "#/app/init-payment" : redirectToIfNotMultpile;
this.ViewBag.paymentType = "Payment Success";
return this.View("PaymentSuccess");
}
//pending transaction from salucro
else if (salucroStatusCode == 1201)
{
this.ViewBag.message = "Thank you. Your Pharmacy sale bill will only be added after the payment got the success.";
this.ViewBag.routingUrlWithBillId = "#/app/pharmacy/sales-bill";
this.ViewBag.paymentType = "Payment Inprogress";
return this.View("PaymentPending");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Payment got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/pharmacy/sales-bill";
this.ViewBag.paymentType = "Payment Failure";
return this.View("PaymentFailure");
}
case 4:
//labs success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Thank you for making payment. Your Lab bill has been added successfully.";
var redirectToIfNotMultpile = (typeOfpayment == "FullPayment" || typeOfpayment == "MultiPaymodes") ? "#/app/labs/lab-billing/Bill-" + encodedCredential.ToString() : "#/app/labs/lab-billing";
this.ViewBag.routingUrlWithBillId = isMultiPayments ? "#/app/init-payment" : redirectToIfNotMultpile;
this.ViewBag.paymentType = "Payment Success";
return this.View("PaymentSuccess");
//return this.View("LabBillSuccess");
}
//pending transaction from salucro
else if (salucroStatusCode == 1201)
{
this.ViewBag.message = "Thank you. Your Lab bill will only be added after the payment got the success.";
this.ViewBag.routingUrlWithBillId = "#/app/labs/lab-billing";
this.ViewBag.paymentType = "Payment Inprogress";
return this.View("PaymentPending");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Payment got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/labs/lab-billing";
this.ViewBag.paymentType = "Payment Failure";
return this.View("PaymentFailure");
}
case 5:
//Scan Appointment success transaction from salucro
if (salucroStatusCode == 1200)
{
if (module == "ScanNotification")
{
this.ViewBag.routingUrlWithBillId = "#/app/web-notification";
}
else
{
this.ViewBag.routingUrlWithBillId = isMultiPayments ? "#/app/init-payment" : "#/app/scan-appointment/booking-scan-appointment";
//this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/booking-scan-appointment";
}
this.ViewBag.message = "Thank you for making payment. Your Scan Appointment has been booked successfully.";
//this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/booking-scan-appointment";
this.ViewBag.paymentType = "Payment Success";
return this.View("PaymentSuccess");
}
//pending transaction from salucro
else if (salucroStatusCode == 1201)
{
if (module == "ScanNotification")
{
this.ViewBag.routingUrlWithBillId = "#/app/web-notification";
}
else
{
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/booking-scan-appointment";
}
this.ViewBag.message = "Thank you. Your Scan Appointment will only be booked after the payment got the success.";
//this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/booking-scan-appointment";
this.ViewBag.paymentType = "Payment Inprogress";
return this.View("PaymentPending");
}
//failed transaction
else
{
if (module == "ScanNotification")
{
this.ViewBag.routingUrlWithBillId = "#/app/web-notification";
}
else
{
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/booking-scan-appointment";
}
this.ViewBag.message = "Sorry. Payment got failed. Please try again..";
//this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/booking-scan-appointment";
this.ViewBag.paymentType = "Payment Failure";
return this.View("PaymentFailure");
}
case 6:
//Adding Receipt success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Thank you for making payment. Your Receipt has been added successfully.";
this.ViewBag.routingUrlWithBillId = "#/app/services/" + admissionId + "/a/receipts";
this.ViewBag.paymentType = "Payment Success";
return this.View("PaymentSuccess");
}
//pending transaction from salucro
else if (salucroStatusCode == 1201)
{
this.ViewBag.message = "Thank you. Your Receipt will only be added after the payment got the success.";
this.ViewBag.routingUrlWithBillId = "#/app/services/" + admissionId + "/a/receipts";
this.ViewBag.paymentType = "Payment Inprogress";
return this.View("PaymentPending");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Payment got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/services/" + admissionId + "/a/receipts";
this.ViewBag.paymentType = "Payment Failure";
return this.View("PaymentFailure");
}
case 7:
//View machine success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Thank you for making payment. Your Scan Appointment has been booked successfully.";
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/machine-wise-booking";
this.ViewBag.paymentType = "Payment Success";
return this.View("PaymentSuccess");
}
//pending transaction from salucro
else if (salucroStatusCode == 1201)
{
this.ViewBag.message = "Thank you. Your Scan Appointment will only be booked after the payment got the success.";
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/machine-wise-booking";
this.ViewBag.paymentType = "Payment Inprogress";
return this.View("PaymentPending");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Payment got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/machine-wise-booking";
this.ViewBag.paymentType = "Payment Failure";
return this.View("PaymentFailure");
}
}
}
else if (mode == "Refund")
{
int moduleId = item["custom3"];
switch (moduleId)
{
case 1:
break;
case 2:
break;
case 3:
//pharmacy return success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Bill Returned Successfully and Refund Initiated.";
this.ViewBag.routingUrlWithBillId = "#/app/pharmacy/sales-return/Bill-" + encodedCredential.ToString();
this.ViewBag.paymentType = "Refund Success";
return this.View("PaymentSuccess");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Refund got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/pharmacy/sales-return";
this.ViewBag.paymentType = "Refund Failure";
return this.View("PaymentFailure");
}
case 4:
//Labs bill success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Lab Bill Returned Successfully and Refund Initiated.";
this.ViewBag.routingUrlWithBillId = "#/app/labs/labs-cancellation/Bill-" + encodedCredential.ToString();
this.ViewBag.paymentType = "Refund Success";
return this.View("PaymentSuccess");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Refund got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/labs/labs-cancellation";
this.ViewBag.paymentType = "Refund Failure";
return this.View("PaymentFailure");
}
case 5:
// Scan Appointment return transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Your Scan Appointment has been Cancelled successfully! and Refund Initiated.";
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/booking-scan-appointment";
this.ViewBag.paymentType = "Refund Success";
return this.View("PaymentSuccess");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Refund got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/booking-scan-appointment";
this.ViewBag.paymentType = "Refund Failure";
return this.View("PaymentFailure");
}
case 6:
// Receipt refund transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Your Refund Receipt Added successfully! and Refund Initiated.";
this.ViewBag.routingUrlWithBillId = "#/app/services/" + admissionId + "/a/receipts";
this.ViewBag.paymentType = "Refund Success";
return this.View("PaymentSuccess");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Refund got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/services/" + admissionId + "/a/receipts";
this.ViewBag.paymentType = "Refund Failure";
return this.View("PaymentFailure");
}
case 7:
// View machine return transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = "Your Scan Appointment has been Cancelled successfully! and Refund Initiated.";
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/machine-wise-booking";
this.ViewBag.paymentType = "Refund Success";
return this.View("PaymentSuccess");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Refund got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/scan-appointment/machine-wise-booking";
this.ViewBag.paymentType = "Refund Failure";
return this.View("PaymentFailure");
}
}
}
else if (mode == "refund")
{
//appointment cancel success transaction from salucro
if (salucroStatusCode == 1200)
{
this.ViewBag.message = " Appointment Cancelled Successfully and Refund Initiated.";
this.ViewBag.routingUrlWithBillId = "#/app/out-patients/Bill-" + encodedCredential.ToString();
this.ViewBag.paymentType = "Refund Success";
return this.View("PaymentSuccess");
}
//failed transaction
else
{
this.ViewBag.message = "Sorry. Refund got failed. Please try again..";
this.ViewBag.routingUrlWithBillId = "#/app/out-patients";
this.ViewBag.paymentType = "Refund Failure";
return this.View("PaymentFailure");
}
}
else if (mode == null)
{
switch (salucroStatusCode)
{
case 1200:
this.ViewBag.content = "Request Processed Successfully";
return this.View("CommonFailure");
case 1400:
this.ViewBag.content = "Bad Request";
return this.View("CommonFailure");
case 1401:
this.ViewBag.content = "Unauthorized Request";
return this.View("CommonFailure");
case 1404:
this.ViewBag.content = "Invalid Request";
return this.View("CommonFailure");
case 1406:
this.ViewBag.content = "Duplicate Request";
return this.View("CommonFailure");
case 1422:
this.ViewBag.content = "Invalid/Missing Parameters";
return this.View("CommonFailure");
case 1417:
this.ViewBag.content = "Insufficient Balance or Exceeded Amount";
return this.View("CommonFailure");
case 1201:
this.ViewBag.content = "Transaction Created";
return this.View("CommonFailure");
case 1424:
this.ViewBag.content = "Request can't be processed";
return this.View("CommonFailure");
case 1499:
this.ViewBag.content = "Payment Cancelled";
return this.View("CommonFailure");
}
}
return this.View("CommonFailure");
}
}
}
namespace Hims.Admin.Extensions
{
using Microsoft.AspNetCore.Builder;
using Middleware;
/// <summary>
/// The anti forgery token extension.
/// </summary>
public static class AntiForgeryTokenExtension
{
/// <summary>
/// The use anti forgery token.
/// </summary>
/// <param name="builder">
/// The builder.
/// </param>
/// <returns>
/// The <see cref="IApplicationBuilder"/>.
/// </returns>
public static IApplicationBuilder UseAntiForgeryToken(this IApplicationBuilder builder) => builder.UseMiddleware<AntiForgeryTokenMiddleware>();
}
}
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<UserSecretsId>b5cb4439-d194-4bd3-bf1b-d24c5c202326</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<Compile Remove="src\app\areas\admin\doctor-dashboard\**" />
<Compile Remove="src\app\areas\admin\reports\pages\all-report\**" />
<Compile Remove="src\app\areas\admin\reports\pages\doctor-revenue-reports\**" />
<Compile Remove="src\app\areas\admin\reports\pages\dynamic-reports-menu\**" />
<Compile Remove="src\app\areas\admin\reports\pages\pharmacy-stock-reports\**" />
<Compile Remove="src\app\shared\Ob-header\**" />
<Compile Remove="src\app\shared\widgets\ob-\**" />
<Compile Remove="src\app\shared\widgets\previous-encounter\behavioral-health\**" />
<Compile Remove="src\app\shared\widgets\previous-encounter\dental-encounter\**" />
<Compile Remove="src\app\shared\widgets\previous-encounter\homeopathy\**" />
<Content Remove="src\app\areas\admin\doctor-dashboard\**" />
<Content Remove="src\app\areas\admin\reports\pages\all-report\**" />
<Content Remove="src\app\areas\admin\reports\pages\doctor-revenue-reports\**" />
<Content Remove="src\app\areas\admin\reports\pages\dynamic-reports-menu\**" />
<Content Remove="src\app\areas\admin\reports\pages\pharmacy-stock-reports\**" />
<Content Remove="src\app\shared\Ob-header\**" />
<Content Remove="src\app\shared\widgets\ob-\**" />
<Content Remove="src\app\shared\widgets\previous-encounter\behavioral-health\**" />
<Content Remove="src\app\shared\widgets\previous-encounter\dental-encounter\**" />
<Content Remove="src\app\shared\widgets\previous-encounter\homeopathy\**" />
<EmbeddedResource Remove="src\app\areas\admin\doctor-dashboard\**" />
<EmbeddedResource Remove="src\app\areas\admin\reports\pages\all-report\**" />
<EmbeddedResource Remove="src\app\areas\admin\reports\pages\doctor-revenue-reports\**" />
<EmbeddedResource Remove="src\app\areas\admin\reports\pages\dynamic-reports-menu\**" />
<EmbeddedResource Remove="src\app\areas\admin\reports\pages\pharmacy-stock-reports\**" />
<EmbeddedResource Remove="src\app\shared\Ob-header\**" />
<EmbeddedResource Remove="src\app\shared\widgets\ob-\**" />
<EmbeddedResource Remove="src\app\shared\widgets\previous-encounter\behavioral-health\**" />
<EmbeddedResource Remove="src\app\shared\widgets\previous-encounter\dental-encounter\**" />
<EmbeddedResource Remove="src\app\shared\widgets\previous-encounter\homeopathy\**" />
<None Remove="src\app\areas\admin\doctor-dashboard\**" />
<None Remove="src\app\areas\admin\reports\pages\all-report\**" />
<None Remove="src\app\areas\admin\reports\pages\doctor-revenue-reports\**" />
<None Remove="src\app\areas\admin\reports\pages\dynamic-reports-menu\**" />
<None Remove="src\app\areas\admin\reports\pages\pharmacy-stock-reports\**" />
<None Remove="src\app\shared\Ob-header\**" />
<None Remove="src\app\shared\widgets\ob-\**" />
<None Remove="src\app\shared\widgets\previous-encounter\behavioral-health\**" />
<None Remove="src\app\shared\widgets\previous-encounter\dental-encounter\**" />
<None Remove="src\app\shared\widgets\previous-encounter\homeopathy\**" />
</ItemGroup>
<ItemGroup>
<None Remove="src\app\areas\admin\admissions\pages\transfer-request\transfer-request.page.ts" />
<None Remove="src\app\areas\admin\ambulance\ambulance.page.ts" />
<None Remove="src\app\areas\admin\ambulance\index.ts" />
<None Remove="src\app\areas\admin\ambulance\pages\masters\add-ambulance\add-ambulance.page.ts" />
<None Remove="src\app\areas\admin\ambulance\pages\masters\driver-detail\driverDetail.page.ts" />
<None Remove="src\app\areas\admin\ambulance\pages\masters\masters.page.ts" />
<None Remove="src\app\areas\admin\ambulance\pages\reciept\reciept.page.ts" />
<None Remove="src\app\areas\admin\charge-module\models\doctor-specialization-charge-module-detail-entity.ts" />
<None Remove="src\app\areas\admin\charge-module\models\view-template-charges.entity.ts" />
<None Remove="src\app\areas\admin\charge-module\pages\assign-doctor-charges\assign-doctor-charges.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\diet.namespace.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\index.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\dashboard\dashboard.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\diet-guidelines\diet-guidelines.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\diet-plan-prescribed\diet-plan-prescribed.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\diet-plan.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\documents.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\ip-nutritional-assessment\ip-nutritional-screen-assessment.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\new-op-assessment\new-op-assessment.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\op-nutritional-assesment\op-nutritional-assesment.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\op-nutrition-screen-form\op-nutrition-screening-form.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\pediatric-cdc-screening\pediatric-cdc-screening.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\syndromes-form-p\syndromes-form-p.page.ts" />
<None Remove="src\app\areas\admin\diet\index.ts" />
<None Remove="src\app\areas\admin\diet\models\diet-condition-model.ts" />
<None Remove="src\app\areas\admin\diet\models\index.ts" />
<None Remove="src\app\areas\admin\diet\models\view-diet-package.model.ts" />
<None Remove="src\app\areas\admin\diet\pages\add-conditions\add-conditions.page.ts" />
<None Remove="src\app\areas\admin\diet\pages\diet-conditions\diet-condition.page.ts" />
<None Remove="src\app\areas\admin\diet\pages\diet-items\diet-items.page.ts" />
<None Remove="src\app\areas\admin\diet\pages\diet-slots\diet-slots.page.ts" />
<None Remove="src\app\areas\admin\diet\diet.page.ts" />
<None Remove="src\app\areas\admin\diet\pages\view-diet-package\view-diet-packag.page.ts" />
<None Remove="src\app\areas\admin\emergency-encounter\index.ts" />
<None Remove="src\app\areas\admin\emergency-encounter\pages\emergency-triage.page.ts" />
<None Remove="src\app\areas\admin\full-transcript\pages\diet-report\diet.namespace.ts" />
<None Remove="src\app\areas\admin\full-transcript\pages\ivf-report\ivf-report.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\colposcopy\colposcopy.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\ectopic-pregnency\ectopic-pregnency.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gyn-card-generation\gyn-card-generation.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gyn-history-new\gyn-history-new.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gynaec-admission-sheet\gynaec-admission-sheet.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gynaec-surgeries\gynaec-surgeries.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\nurse-notes-report\nurse-notes-report.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\nursing-er-form\nursing-er-form.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\print-prescription\print-prescription.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\measure\measure.page.ts" />
<None Remove="src\app\areas\admin\health-card\health-card.page.ts" />
<None Remove="src\app\areas\admin\health-card\index.ts" />
<None Remove="src\app\areas\admin\health-card\pages\health-card-issue\health-card-issue.page.ts" />
<None Remove="src\app\areas\admin\health-card\pages\health-card-report\health-card-report.page.ts" />
<None Remove="src\app\areas\admin\health-card\pages\master\health-card-master.page.ts" />
<None Remove="src\app\areas\admin\health-card\pages\master\health-card\modify-health-card.page.ts" />
<None Remove="src\app\areas\admin\inventory-request\index.ts" />
<None Remove="src\app\areas\admin\inventory-request\inventory-request.page.ts" />
<None Remove="src\app\areas\admin\inventory-request\view\view.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\ivf.namespace.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\addIUI-data\addIUI-data.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\aspiration\aspiration.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\contraception-history\contraception-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\dualtrigger-injection\dualtrigger-injection.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\embryo-cryopreservation\embryo-cryopreservation.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\embryo-thawing\embryo-thawing.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\embryology-detail\embryology-detail.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\fertilization\fertilization.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\hysteroscopy\hysteroscopy.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\iui-summary\iui-summary.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\iuistimulation-scan\iuistimulation-scan.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\ivf-summarys\ivf-summarys.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\laproscopy\laproscopy.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\marriedlife-history\marriedlife-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\menstrual-history3months\menstrual-history3months.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\family-history\family-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\observation-infertility\observation-infertility.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\oocyte-cryopreservation\oocyte-cryopreservation.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\other-investigation-history\other-investigation-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\personal-history\personal-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\physical-gynecological\physical-gynecological.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\data-entry-operator-view\data-entry-operator-view-page.ts" />
<None Remove="src\app\areas\admin\labs\pages\demographicPatient-report\demographicPatient-report.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\lab-report\lab-report.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\lab-setting\lab-status\lab-status.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\lab-setting\labs-setting.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\labs-booked\labs-booked.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\labs-cancellation\labs-cancellation.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\master\external-lab-agency\external-lab-agency.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\master\lab-vacutainer\lab-vacutainer.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\master\machine\machine.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\external-lab-angency-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-booking-status-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-color-template-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-import-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-observedValue.model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-parameter-input-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-receive-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-report-patient.model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-report-signature.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-sample-handler-newmodel.ts" />
<None Remove="src\app\areas\admin\labs\pages\sample-collection-track-report\sample-collection-track-report.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\sample-transfer-track-report\sample-transfer-track-report.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\verify-report\verify-report.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\authority-master\authority-master.pag.ts" />
<None Remove="src\app\areas\admin\masters\pages\baby-registration\baby-registration.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\birth-certificate\birth-certificate.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\birth-report\birth-report.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\case-type\case-type.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\doctor-unit\doctor-unit.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\dynamic-template\dynamic-template.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gyn-iui\gyn-iui.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gynae-card\gynae-card.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gynaec-visit\gynaec-visit.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gyneac-orders\gyneac-orders.page.ts" />
<None Remove="src\app\areas\admin\leave-managment\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\appointment-types\appointment-types.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\encounter-order-master\encounter-order-master.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\module-master\module-master.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\components\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\models\charge-module-details.model.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\models\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\models\module-charge.model.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\models\package-module-view.model.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\pages\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\patient-import\patient-import.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\reasons\reasons.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\reference-types\reference-types.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\referral-doctor\referral-doctor.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\session-types\session-types.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\Session\session.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\working-hour\working-hour.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\admssion-slips\admssion-slips.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\allergies\allergies.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anaesthesia-record\anaesthesia-record.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anaesthesia-report\anaesthesia-report.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-card-closure\anc-card-closure.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-card-generation\anc-card-generation.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-visit\breech\breech.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-visit\general-examination\general-examination.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-visit\measure\measure.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\cross-consultation\cross-consultation.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\discharge-summary\discharge-summary.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\external-cephalic-version\external-cephalic-version.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\family-history\family-history.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\iol-list\iol-list.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\mother-with-epilepsy\mother-with-epilepsy.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\neonatal-inital-assessment\neonatal-inital-assessment.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\nurse-assesment\nurse-assesment.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\ob-lab-reports\ob-lab-reports.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\op-management\op-management.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\opinion-form\opinion-form.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\out-patient-management\out-patient-management.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\outside-test\outside-test.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\postnantal-report\postnantal-report.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\pre-preganancy\pre-preganancy.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\pre-pregnancy-councelling-report\pre-pregnancy-councelling-report.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\pre-pregnancy-plan\pre-pregnancy-plan.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\referral-form\referral-form.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\risk-factor\antinantal-risk\antinantal-risk.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-card\anc-cards\anc-cards-page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-card\covid\covid-page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\antinantal-risk\antinantal-risk.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\breast-examination\breast-examination.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\complaints\complaints.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\drug-history\drug-history.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\menstrual-history\menstrual-history.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\ob-birthhistory\ob-birthhistory.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\ob-vital-signs\ob-vital-signs.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\obstetric-examination\obstetric-examination.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\op-procedure-form\op-procedure-form.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\orders-prescription\orders-prescription.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\other-detail\other-detail.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\plan-of-management\plan-of-management.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\postnantal-visit\postnantal-visit.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\procedure-surgeries\procedure-surgeries.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\risk-factor\sga-scanning\sga-scanning.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\special-feature\special-feature.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\subcategory.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\syndromes\syndromes.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\vaccine\vaccine.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\vaginal-examination\vaginal-examination.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\risk-factor\vte-risk\vte-risk.page.ts" />
<None Remove="src\app\areas\admin\operation-theater\pages\booking-otroom-appointment\booking-otroom-appointment.page.ts" />
<None Remove="src\app\areas\admin\patient-prescription\index.ts" />
<None Remove="src\app\areas\admin\patient-prescription\pages\ob-prescription\ob-prescription.page.ts" />
<None Remove="src\app\areas\admin\patient-prescription\pages\ob-prescription\ob.namespace.ts" />
<None Remove="src\app\areas\admin\patient-prescription\patient-prescription.page.ts" />
<None Remove="src\app\areas\admin\patient\pages\card-generation\card-generation.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\index.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\clinical-examination\clinical-examination.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\dashboard\dashboard.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\denverchart\denverchart.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\documents\documents.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\high-risk\high-risk.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\measurements\measurement.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\neonatal-risk\neonatal-risk.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\pediatric-guide\pediatric-guide.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\pediatric-risk\pediatric-risk.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\prescription-reports\prescription.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\syndromes\syndromes.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\Vitals\vitals-graph.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pediatric-encounter.namespace.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pediatric-encounter.page.ts" />
<None Remove="src\app\areas\admin\pharmacy\pages\demand-book\demand-book.page.ts" />
<None Remove="src\app\areas\admin\print-prescription\index.ts" />
<None Remove="src\app\areas\admin\print-prescription\pages\gyn-prescription\gyn-prescription.page.ts" />
<None Remove="src\app\areas\admin\print-prescription\print-prescription.page.ts" />
<None Remove="src\app\areas\admin\progress-report\pages\diet-plan\diet-plan.page.ts" />
<None Remove="src\app\areas\admin\provider-otappointment-booking\provider-otappointment-booking.page.ts" />
<None Remove="src\app\areas\admin\provider-scanappointment-booking\provider-scanappointment-booking.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\collection\mis-report\mis-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\counts\new-patient\new-patient.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\lab-order-report\lab-order-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\lab\lab-tat-new-report\lab-tat-new-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\lab\lab-track-report\lab-track-report.page.ts" />
<None Remove="src\app\areas\admin\scan-test\pages\booking-scan-appointment\booking-scan-appointment.page.ts" />
<None Remove="src\app\areas\admin\services\models\diet-shift-slots.ts" />
<None Remove="src\app\areas\admin\services\models\new-lab-services.model.ts" />
<None Remove="src\app\areas\admin\settings\index.ts" />
<None Remove="src\app\areas\admin\template-design\pages\masters\template-config\template-config.page.ts" />
<None Remove="src\app\areas\diet-report\diet-report.ts" />
<None Remove="src\app\areas\new-lab-bills\new-lab-bills.page.ts" />
<None Remove="src\app\areas\new-lab-mainreports\new-lab-mainreports.page.ts" />
<None Remove="src\app\areas\new-lab-reports\new-lab-reports.page.ts" />
<None Remove="src\app\shared\entities\admission-transfer-request.entity.ts" />
<None Remove="src\app\shared\entities\ambulance.entity.ts" />
<None Remove="src\app\shared\entities\ambulance\ambulance-receipt.entity.ts" />
<None Remove="src\app\shared\entities\ambulance\driver-details.entity.ts" />
<None Remove="src\app\shared\entities\appoinment-types.entity.ts" />
<None Remove="src\app\shared\directives\trimspace.directive.ts" />
<None Remove="src\app\shared\entities\assessment-type.entity.ts" />
<None Remove="src\app\shared\entities\authority.entity.ts" />
<None Remove="src\app\shared\entities\case-type.entity.ts" />
<None Remove="src\app\shared\entities\charge-category.entity.ts" />
<None Remove="src\app\shared\entities\charge-types.entity.ts" />
<None Remove="src\app\shared\entities\components.entity.ts" />
<None Remove="src\app\shared\entities\componentType.entity.ts" />
<None Remove="src\app\shared\entities\denver-chart.entity.ts" />
<None Remove="src\app\shared\entities\diet-guidlines.entity.ts" />
<None Remove="src\app\shared\entities\diet-items.entity.ts" />
<None Remove="src\app\shared\entities\diet-slots.entity.ts" />
<None Remove="src\app\shared\entities\discharge-instructions.entity.ts" />
<None Remove="src\app\shared\entities\doctor-appointment-notice.entity.ts" />
<None Remove="src\app\shared\entities\doctor-specialization-consultation.entity.ts" />
<None Remove="src\app\shared\entities\doctor-unit.entity.ts" />
<None Remove="src\app\shared\entities\dynamic-template.entity.ts" />
<None Remove="src\app\shared\entities\encounter-type.entity.ts" />
<None Remove="src\app\shared\entities\encounter-value.entity.ts" />
<None Remove="src\app\shared\entities\icdValues.entity.ts" />
<None Remove="src\app\shared\entities\id-proof.entity.ts" />
<None Remove="src\app\shared\entities\inventory-purchase-bill.entity.ts" />
<None Remove="src\app\shared\entities\inventory-request.entity.ts" />
<None Remove="src\app\shared\entities\inventory-stock.entity.ts" />
<None Remove="src\app\shared\entities\ivf-full-transcript.entity.ts" />
<None Remove="src\app\shared\entities\lab-new-tat- report.entity.ts" />
<None Remove="src\app\shared\entities\laboratory\lab-location-charges.entity.ts" />
<None Remove="src\app\shared\entities\laboratory\lab-vacutainer.entity.ts" />
<None Remove="src\app\shared\entities\laboratory\machine.entity.ts" />
<None Remove="src\app\shared\entities\meal-types.entity.ts" />
<None Remove="src\app\shared\entities\message.entity.ts" />
<None Remove="src\app\shared\entities\module-master.entity.ts" />
<None Remove="src\app\shared\entities\ob-patient-prescription.entity.ts" />
<None Remove="src\app\shared\entities\order-prescription.entity.ts" />
<None Remove="src\app\shared\entities\ot-register.entity.ts" />
<None Remove="src\app\shared\entities\otroom-booking.entity.ts" />
<None Remove="src\app\shared\entities\pay-category.entity.ts" />
<None Remove="src\app\shared\entities\payment-map-helper.entity.ts" />
<None Remove="src\app\shared\entities\paytype.entity.ts" />
<None Remove="src\app\shared\entities\pharmacy-product-type.entity.ts" />
<None Remove="src\app\shared\entities\pharmacy\pharmacy-product-sub-type.entity.ts" />
<None Remove="src\app\shared\entities\provider-availabilitiy.entity.ts" />
<None Remove="src\app\shared\entities\provider-schedule-charges.entity.ts" />
<None Remove="src\app\shared\entities\provider-schedule.entity.ts" />
<None Remove="src\app\shared\entities\quantity-measure.entity.ts" />
<None Remove="src\app\shared\entities\Reasons.entity.ts" />
<None Remove="src\app\shared\entities\reference-types.entity.ts" />
<None Remove="src\app\shared\entities\referraldoctor.entity.ts" />
<None Remove="src\app\shared\entities\reports\relations.entity.ts" />
<None Remove="src\app\shared\entities\roomcharge.entity.ts" />
<None Remove="src\app\shared\entities\salutation.entity.ts" />
<None Remove="src\app\shared\entities\scan-appointment-notice.entity.ts" />
<None Remove="src\app\shared\entities\scan-booking.entity.ts" />
<None Remove="src\app\shared\entities\scan-machine.entity.ts" />
<None Remove="src\app\shared\entities\scan-test.entity.ts" />
<None Remove="src\app\shared\entities\Session.entity.ts" />
<None Remove="src\app\shared\entities\sessionType.entity.ts" />
<None Remove="src\app\shared\entities\settings.entity.ts" />
<None Remove="src\app\shared\entities\tag-doctor.entity.ts" />
<None Remove="src\app\shared\entities\templateConfig.entity.ts" />
<None Remove="src\app\shared\entities\unit-type.entity.ts" />
<None Remove="src\app\shared\entities\vital-type.entity.ts" />
<None Remove="src\app\shared\entities\wokring-hour.entity.ts" />
<None Remove="src\app\shared\enums\diet-encounter.enum.ts" />
<None Remove="src\app\shared\enums\export-type.enum.ts" />
<None Remove="src\app\shared\enums\ivf-encounter.enum.ts" />
<None Remove="src\app\shared\enums\pediatric-encounter.enum.ts" />
<None Remove="src\app\shared\models\diet-encounter.model.ts" />
<None Remove="src\app\shared\models\emergency-encounter.model.ts" />
<None Remove="src\app\shared\models\gyn-encounter.model.ts" />
<None Remove="src\app\shared\models\ivf-encounter.model.ts" />
<None Remove="src\app\shared\models\ob-encounter.model.ts" />
<None Remove="src\app\shared\models\pediatric-encounter.model.ts" />
<None Remove="src\app\shared\models\provider-bankaccount.model.ts" />
<None Remove="src\app\shared\services\bill-notificaton.service.ts" />
<None Remove="src\app\shared\services\export.service.ts" />
<None Remove="src\app\shared\services\shared.service.ts" />
<None Remove="src\app\shared\validators\uniq-userNameValidator.ts" />
<None Remove="src\app\shared\widgets\assign-charges\assign-charges.widget.ts" />
<None Remove="src\app\shared\widgets\color-identification\color-identification.widget.ts" />
<None Remove="src\app\shared\widgets\gyn-header\gyn-header.widget.ts" />
<None Remove="src\app\shared\widgets\internal-medicine\internal-medicine.widget.ts" />
<None Remove="src\app\shared\widgets\messaging\messaging.widget.ts" />
<None Remove="src\app\shared\widgets\new-lab-invoice\new-lab-invoice.widget.ts" />
<None Remove="src\app\shared\widgets\new-lab-report\new-lab-report.widget.ts" />
<None Remove="src\app\shared\widgets\new-lab-timeline\new-lab-timeline.widget.ts" />
<None Remove="src\app\shared\widgets\Ob-header\ob-header.ts" />
<None Remove="src\app\shared\widgets\pediatric-header\pediatrics-header.page.ts" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.TaskRunnerExplorer.14.0" Version="14.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="TaskRunner" Version="1.0.0" />
<PackageReference Include="Webpack" Version="4.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Domain\Hims.Domian.Helpers\Hims.Domain.Helpers.csproj" />
<ProjectReference Include="..\..\Shared\Hims.Shared.Library\Hims.Shared.Library.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="src\app\areas\admin\dental-encounter\NewFolder\" />
<Folder Include="src\app\areas\admin\gyn-ip-emr\" />
<Folder Include="src\app\areas\admin\patient-multiple-forms\pages\edit-patient-details\" />
<Folder Include="wwwroot\assets\fonts\themify\fonts\" />
<Folder Include="wwwroot\assets\images\pediatric-images\" />
</ItemGroup>
<ItemGroup>
<None Include="wwwroot\assets\css\styles\calendar.css" />
<None Include="wwwroot\assets\css\styles\fullcalendar\core.css" />
<None Include="wwwroot\assets\css\styles\fullcalendar\daygrid.css" />
<None Include="wwwroot\assets\css\styles\fullcalendar\list.css" />
<None Include="wwwroot\assets\css\styles\fullcalendar\timegrid.css" />
</ItemGroup>
<ItemGroup>
<TypeScriptCompile Include="src\app\areas\admin\admissions\pages\transfer-request\transfer-request.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\ambulance.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\pages\masters\add-ambulance\add-ambulance.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\pages\masters\driver-detail\driverDetail.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\pages\masters\masters.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\pages\reciept\reciept.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\charge-module\models\doctor-specialization-charge-module-detail-entity.ts" />
<TypeScriptCompile Include="src\app\areas\admin\charge-module\models\view-template-charges.entity.ts" />
<TypeScriptCompile Include="src\app\areas\admin\charge-module\pages\assign-doctor-charges\assign-doctor-charges.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\diet.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\dashboard\dashboard.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\diet-guidelines\diet-guidelines.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\diet-plan-prescribed\diet-plan-prescribed.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\diet-plan.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\documents\documents.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\ip-nutritional-assessment\ip-nutritional-screen-assessment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\new-op-assessment\new-op-assessment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\op-nutritional-assesment\op-nutritional-assesment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\op-nutrition-screen-form\op-nutrition-screening-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\pediatric-cdc-screening\pediatric-cdc-screening.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\syndromes-form-p\syndromes-form-p.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\models\diet-condition-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\models\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\models\view-diet-package.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\add-conditions\add-conditions.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\diet-conditions\diet-condition.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\diet-items\diet-items.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\diet-slots\diet-slots.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\diet.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\view-diet-package\view-diet-packag.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\emergency-encounter\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\emergency-encounter\pages\emergency-triage\emergency-triage.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\full-transcript\pages\diet-report\diet.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\full-transcript\pages\ivf-report\ivf-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\ectopic-pregnency\ectopic-pregnency.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gyn-card-generation\gyn-card-generation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gyn-history-new\gyn-history-new.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\emergency-encounter\pages\nursing-er-form\nursing-er-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\colposcopy\colposcopy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gynaec-surgeries\gynaec-surgeries.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gynaec-admission-sheet\gynaec-admission-sheet.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\print-prescription\print-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\measure\measure.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\nurse-notes-report\nurse-notes-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\health-card.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\pages\health-card-issue\health-card-issue.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\pages\health-card-report\health-card-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\pages\master\health-card-master.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\pages\master\health-card\modify-health-card.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\inventory-request\index.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\inventory-request\inventory-request.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\inventory-request\view\view.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\ivf.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\addIUI-data\addIUI-data.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\aspiration\aspiration.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\contraception-history\contraception-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\dualtrigger-injection\dualtrigger-injection.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\embryo-cryopreservation\embryo-cryopreservation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\fertilization\fertilization.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\embryo-thawing\embryo-thawing.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\embryology-detail\embryology-detail.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\hysteroscopy\hysteroscopy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\iui-summary\iui-summary.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\iuistimulation-scan\iuistimulation-scan.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\ivf-summarys\ivf-summarys.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\laproscopy\laproscopy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\marriedlife-history\marriedlife-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\menstrual-history3months\menstrual-history3months.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\family-history\family-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\observation-infertility\observation-infertility.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\oocyte-cryopreservation\oocyte-cryopreservation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\other-investigation-history\other-investigation-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\personal-history\personal-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\physical-gynecological\physical-gynecological.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\data-entry-operator-view\data-entry-operator-view-page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\demographicPatient-report\demographicPatient-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\lab-setting\lab-status\lab-status.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\lab-setting\labs-setting.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\labs-booked\labs-booked.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\lab-report\lab-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\labs-cancellation\labs-cancellation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\master\external-lab-agency\external-lab-agency.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\master\lab-vacutainer\lab-vacutainer.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\master\machine\machine.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\external-lab-angency-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-booking-status-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-color-template-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-import-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-observedValue.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-parameter-input-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-receive-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-report-patient.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-report-signature.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-sample-handler-newmodel.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\sample-collection-track-report\sample-collection-track-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\sample-transfer-track-report\sample-transfer-track-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\verify-report\verify-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\authority-master\authority-master.pag.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\baby-registration\baby-registration.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\birth-certificate\birth-certificate.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\birth-report\birth-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\case-type\case-type.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\doctor-unit\doctor-unit.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\dynamic-template\dynamic-template.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gyn-iui\gyn-iui.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gynae-card\gynae-card.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gynaec-visit\gynaec-visit.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gyneac-orders\gyneac-orders.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\leave-managment\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\appointment-types\appointment-types.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\encounter-order-master\encounter-order-master.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\module-master\module-master.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\components\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\models\module-charge.model.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\models\charge-module-details.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\models\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\models\package-module-view.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\pages\index.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\reasons\reasons.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\reference-types\reference-types.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\referral-doctor\referral-doctor.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\session-types\session-types.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\Session\session.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\patient-import\patient-import.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\working-hour\working-hour.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\admssion-slips\admssion-slips.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\neonatal-inital-assessment\neonatal-inital-assessment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\nurse-assesment\nurse-assesment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\op-management\op-management.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anaesthesia-record\anaesthesia-record.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anaesthesia-report\anaesthesia-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-card-closure\anc-card-closure.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-card-generation\anc-card-generation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-visit\breech\breech.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-visit\general-examination\general-examination.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-visit\measure\measure.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\cross-consultation\cross-consultation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\discharge-summary\discharge-summary.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\external-cephalic-version\external-cephalic-version.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\opinion-form\opinion-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\outside-test\outside-test.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\syndromes\syndromes.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\family-history\family-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\iol-list\iol-list.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\mother-with-epilepsy\mother-with-epilepsy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\ob-lab-reports\ob-lab-reports.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\out-patient-management\out-patient-management.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\postnantal-report\postnantal-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\pre-preganancy\pre-preganancy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\allergies\allergies.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\pre-pregnancy-councelling-report\pre-pregnancy-councelling-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\pre-pregnancy-plan\pre-pregnancy-plan.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\referral-form\referral-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\risk-factor\antinantal-risk\antinantal-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-card\anc-cards\anc-cards-page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-card\covid\covid-page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\antinantal-risk\antinantal-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\breast-examination\breast-examination.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\complaints\complaints.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\drug-history\drug-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\menstrual-history\menstrual-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\ob-birthhistory\ob-birthhistory.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\ob-vital-signs\ob-vital-signs.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\obstetric-examination\obstetric-examination.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\op-procedure-form\op-procedure-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\orders-prescription\orders-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\other-detail\other-detail.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\plan-of-management\plan-of-management.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\postnantal-visit\postnantal-visit.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\procedure-surgeries\procedure-surgeries.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\risk-factor\sga-scanning\sga-scanning.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\special-feature\special-feature.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\subcategory.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\vaccine\vaccine.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\vaginal-examination\vaginal-examination.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\risk-factor\vte-risk\vte-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\operation-theater\pages\booking-otroom-appointment\booking-otroom-appointment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient-prescription\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient-prescription\pages\ob-prescription\ob.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient-prescription\pages\ob-prescription\ob-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient-prescription\patient-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient\pages\card-generation\card-generation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\denverchart\denverchart.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\down-syndrome-followup\down-syndrome-followup.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\dashboard\dashboard.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\documents\documents.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\high-risk\high-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\measurements\measurement.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\neonatal-risk\neonatal-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\pediatric-guide\pediatric-guide.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\pediatric-risk\pediatric-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\prescription-reports\prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\syndromes\syndromes.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\Vitals\vitals-graph.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pediatric-encounter.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pediatric-encounter.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pharmacy\pages\demand-book\demand-book.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\print-prescription\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\print-prescription\pages\gyn-prescription\gyn-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\print-prescription\print-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\progress-report\pages\diet-plan\diet-plan.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\provider-otappointment-booking\provider-otappointment-booking.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\provider-scanappointment-booking\provider-scanappointment-booking.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\counts\new-patient\new-patient.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\collection\mis-report\mis-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\lab\lab-track-report\lab-track-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\lab-order-report\lab-order-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\scan-test\pages\booking-scan-appointment\booking-scan-appointment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\services\models\diet-shift-slots.ts" />
<TypeScriptCompile Include="src\app\areas\admin\services\models\new-lab-services.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\settings\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\template-design\pages\masters\template-config\template-config.page.ts" />
<TypeScriptCompile Include="src\app\areas\diet-report\diet-report.ts" />
<TypeScriptCompile Include="src\app\areas\new-lab-bills\new-lab-bills.page.ts" />
<TypeScriptCompile Include="src\app\areas\new-lab-mainreports\new-lab-mainreports.page.ts" />
<TypeScriptCompile Include="src\app\areas\new-lab-reports\new-lab-reports.page.ts" />
<TypeScriptCompile Include="src\app\shared\entities\admission-transfer-request.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ambulance.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ambulance\ambulance-receipt.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ambulance\driver-details.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\appoinment-types.entity.ts" />
<TypeScriptCompile Include="src\app\shared\directives\trimspace.directive.ts" />
<TypeScriptCompile Include="src\app\shared\entities\authority.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\case-type.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\denver-chart.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\diet-items.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\diet-slots.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\inventory-request.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\lab-new-tat- report.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\pharmacy\pharmacy-product-sub-type.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\quantity-measure.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\reports\relations.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\scan-appointment-notice.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\doctor-appointment-notice.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\doctor-specialization-consultation.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\doctor-unit.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\encounter-value.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\icdValues.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\diet-guidlines.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\laboratory\lab-vacutainer.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\message.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ot-register.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\ob-patient-prescription.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\payment-map-helper.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\reasons.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\roomcharge.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\encounter-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\components.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\dynamic-template.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\componentType.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ivf-full-transcript.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\referraldoctor.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\salutation.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\laboratory\machine.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\order-prescription.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\charge-category.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\id-proof.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\pay-category.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\otroom-booking.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\Session.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\sessionType.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\settings.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\scan-booking.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\reference-types.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\paytype.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\scan-machine.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\scan-test.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\laboratory\lab-location-charges.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\meal-types.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\charge-types.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\module-master.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\tag-doctor.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\templateConfig.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\unit-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\assessment-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\provider-schedule.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\provider-schedule-charges.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\consultation-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\vital-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\visit-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\inventory-stock.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\inventory-purchase-bill.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\refund.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\bed-management.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\discharge-instructions.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\role.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\pharmacy\pharmacy-product-type.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\wokring-hour.entity.ts" />
<TypeScriptCompile Include="src\app\shared\enums\diet-encounter.enum.ts" />
<TypeScriptCompile Include="src\app\shared\enums\export-type.enum.ts" />
<TypeScriptCompile Include="src\app\shared\enums\ivf-encounter.enum.ts" />
<TypeScriptCompile Include="src\app\shared\enums\pediatric-encounter.enum.ts" />
<TypeScriptCompile Include="src\app\shared\models\diet-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\emergency-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\ivf-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\ob-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\gyn-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\pediatric-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\provider-bankaccount.model.ts" />
<TypeScriptCompile Include="src\app\shared\services\bill-notificaton.service.ts" />
<TypeScriptCompile Include="src\app\shared\services\export.service.ts" />
<TypeScriptCompile Include="src\app\shared\services\shared.service.ts" />
<TypeScriptCompile Include="src\app\shared\validators\uniq-userNameValidator.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\assign-charges\assign-charges.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\internal-medicine\internal-medicine.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\color-identification\color-identification.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\messaging\messaging.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\new-lab-invoice\new-lab-invoice.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\new-lab-report\new-lab-report.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\new-lab-timeline\new-lab-timeline.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\gyn-header\gyn-header.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\Ob-header\ob-header.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\pediatric-header\pediatrics-header.page.ts" />
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
<UserSecretsId>b5cb4439-d194-4bd3-bf1b-d24c5c202326</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<Compile Remove="src\app\areas\admin\dental-encounter\**" />
<Compile Remove="src\app\areas\admin\doctor-dashboard\**" />
<Compile Remove="src\app\areas\admin\gyn-ip-emr\**" />
<Compile Remove="src\app\areas\admin\inventory-request\**" />
<Compile Remove="src\app\areas\admin\physiotherapy-encounter\pages\Risk Category At Adm\**" />
<Compile Remove="src\app\areas\admin\reports\pages\all-report\**" />
<Compile Remove="src\app\areas\admin\reports\pages\doctor-revenue-reports\**" />
<Compile Remove="src\app\areas\admin\reports\pages\dynamic-reports-menu\**" />
<Compile Remove="src\app\areas\admin\reports\pages\pharmacy-stock-reports\**" />
<Compile Remove="src\app\shared\Ob-header\**" />
<Compile Remove="src\app\shared\widgets\ob-\**" />
<Compile Remove="src\app\shared\widgets\previous-encounter\behavioral-health\**" />
<Compile Remove="src\app\shared\widgets\previous-encounter\dental-encounter\**" />
<Compile Remove="src\app\shared\widgets\previous-encounter\homeopathy\**" />
<Content Remove="src\app\areas\admin\dental-encounter\**" />
<Content Remove="src\app\areas\admin\doctor-dashboard\**" />
<Content Remove="src\app\areas\admin\gyn-ip-emr\**" />
<Content Remove="src\app\areas\admin\inventory-request\**" />
<Content Remove="src\app\areas\admin\physiotherapy-encounter\pages\Risk Category At Adm\**" />
<Content Remove="src\app\areas\admin\reports\pages\all-report\**" />
<Content Remove="src\app\areas\admin\reports\pages\doctor-revenue-reports\**" />
<Content Remove="src\app\areas\admin\reports\pages\dynamic-reports-menu\**" />
<Content Remove="src\app\areas\admin\reports\pages\pharmacy-stock-reports\**" />
<Content Remove="src\app\shared\Ob-header\**" />
<Content Remove="src\app\shared\widgets\ob-\**" />
<Content Remove="src\app\shared\widgets\previous-encounter\behavioral-health\**" />
<Content Remove="src\app\shared\widgets\previous-encounter\dental-encounter\**" />
<Content Remove="src\app\shared\widgets\previous-encounter\homeopathy\**" />
<EmbeddedResource Remove="src\app\areas\admin\dental-encounter\**" />
<EmbeddedResource Remove="src\app\areas\admin\doctor-dashboard\**" />
<EmbeddedResource Remove="src\app\areas\admin\gyn-ip-emr\**" />
<EmbeddedResource Remove="src\app\areas\admin\inventory-request\**" />
<EmbeddedResource Remove="src\app\areas\admin\physiotherapy-encounter\pages\Risk Category At Adm\**" />
<EmbeddedResource Remove="src\app\areas\admin\reports\pages\all-report\**" />
<EmbeddedResource Remove="src\app\areas\admin\reports\pages\doctor-revenue-reports\**" />
<EmbeddedResource Remove="src\app\areas\admin\reports\pages\dynamic-reports-menu\**" />
<EmbeddedResource Remove="src\app\areas\admin\reports\pages\pharmacy-stock-reports\**" />
<EmbeddedResource Remove="src\app\shared\Ob-header\**" />
<EmbeddedResource Remove="src\app\shared\widgets\ob-\**" />
<EmbeddedResource Remove="src\app\shared\widgets\previous-encounter\behavioral-health\**" />
<EmbeddedResource Remove="src\app\shared\widgets\previous-encounter\dental-encounter\**" />
<EmbeddedResource Remove="src\app\shared\widgets\previous-encounter\homeopathy\**" />
<None Remove="src\app\areas\admin\dental-encounter\**" />
<None Remove="src\app\areas\admin\doctor-dashboard\**" />
<None Remove="src\app\areas\admin\gyn-ip-emr\**" />
<None Remove="src\app\areas\admin\inventory-request\**" />
<None Remove="src\app\areas\admin\physiotherapy-encounter\pages\Risk Category At Adm\**" />
<None Remove="src\app\areas\admin\reports\pages\all-report\**" />
<None Remove="src\app\areas\admin\reports\pages\doctor-revenue-reports\**" />
<None Remove="src\app\areas\admin\reports\pages\dynamic-reports-menu\**" />
<None Remove="src\app\areas\admin\reports\pages\pharmacy-stock-reports\**" />
<None Remove="src\app\shared\Ob-header\**" />
<None Remove="src\app\shared\widgets\ob-\**" />
<None Remove="src\app\shared\widgets\previous-encounter\behavioral-health\**" />
<None Remove="src\app\shared\widgets\previous-encounter\dental-encounter\**" />
<None Remove="src\app\shared\widgets\previous-encounter\homeopathy\**" />
</ItemGroup>
<ItemGroup>
<None Remove="src\app\areas\admin\admissions\pages\transfer-request\transfer-request.page.ts" />
<None Remove="src\app\areas\admin\ambulance\ambulance.page.ts" />
<None Remove="src\app\areas\admin\ambulance\index.ts" />
<None Remove="src\app\areas\admin\ambulance\pages\masters\add-ambulance\add-ambulance.page.ts" />
<None Remove="src\app\areas\admin\ambulance\pages\masters\driver-detail\driverDetail.page.ts" />
<None Remove="src\app\areas\admin\ambulance\pages\masters\masters.page.ts" />
<None Remove="src\app\areas\admin\ambulance\pages\reciept\reciept.page.ts" />
<None Remove="src\app\areas\admin\charge-module\models\doctor-specialization-charge-module-detail-entity.ts" />
<None Remove="src\app\areas\admin\charge-module\models\view-template-charges.entity.ts" />
<None Remove="src\app\areas\admin\charge-module\pages\assign-doctor-charges\assign-doctor-charges.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\diet.namespace.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\index.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\dashboard\dashboard.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\diet-guidelines\diet-guidelines.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\diet-plan-prescribed\diet-plan-prescribed.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\diet-plan.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\documents.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\ip-nutritional-assessment\ip-nutritional-screen-assessment.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\new-op-assessment\new-op-assessment.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\op-nutritional-assesment\op-nutritional-assesment.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\op-nutrition-screen-form\op-nutrition-screening-form.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\pediatric-cdc-screening\pediatric-cdc-screening.page.ts" />
<None Remove="src\app\areas\admin\diet-plan-encounter\pages\syndromes-form-p\syndromes-form-p.page.ts" />
<None Remove="src\app\areas\admin\diet\index.ts" />
<None Remove="src\app\areas\admin\diet\models\diet-condition-model.ts" />
<None Remove="src\app\areas\admin\diet\models\index.ts" />
<None Remove="src\app\areas\admin\diet\models\view-diet-package.model.ts" />
<None Remove="src\app\areas\admin\diet\pages\add-conditions\add-conditions.page.ts" />
<None Remove="src\app\areas\admin\diet\pages\diet-conditions\diet-condition.page.ts" />
<None Remove="src\app\areas\admin\diet\pages\diet-items\diet-items.page.ts" />
<None Remove="src\app\areas\admin\diet\pages\diet-slots\diet-slots.page.ts" />
<None Remove="src\app\areas\admin\diet\diet.page.ts" />
<None Remove="src\app\areas\admin\diet\pages\view-diet-package\view-diet-packag.page.ts" />
<None Remove="src\app\areas\admin\emergency-encounter\index.ts" />
<None Remove="src\app\areas\admin\emergency-encounter\pages\emergency-triage.page.ts" />
<None Remove="src\app\areas\admin\full-transcript\pages\diet-report\diet.namespace.ts" />
<None Remove="src\app\areas\admin\full-transcript\pages\ivf-report\ivf-report.page.ts" />
<None Remove="src\app\areas\admin\genetic-speciality-encounter\genetic-speciality.namespace.ts" />
<None Remove="src\app\areas\admin\genetic-speciality-encounter\genetic-speciality.page.ts" />
<None Remove="src\app\areas\admin\genetic-speciality-encounter\index.ts" />
<None Remove="src\app\areas\admin\genetic-speciality-encounter\pages\dashboard\dashboard.page.ts" />
<None Remove="src\app\areas\admin\genetic-speciality-encounter\pages\genetic-visit\genetic-visit.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\colposcopy\colposcopy.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\ectopic-pregnency\ectopic-pregnency.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gyn-card-generation\gyn-card-generation.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gyn-history-new\gyn-history-new.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gynaec-admission-sheet\gynaec-admission-sheet.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gynaec-surgeries\gynaec-surgeries.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\nurse-notes-report\nurse-notes-report.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\nursing-er-form\nursing-er-form.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\print-prescription\print-prescription.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\measure\measure.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\reminder\Reminder.page.ts" />
<None Remove="src\app\areas\admin\health-card\health-card.page.ts" />
<None Remove="src\app\areas\admin\health-card\index.ts" />
<None Remove="src\app\areas\admin\health-card\pages\health-card-issue\health-card-issue.page.ts" />
<None Remove="src\app\areas\admin\health-card\pages\health-card-report\health-card-report.page.ts" />
<None Remove="src\app\areas\admin\health-card\pages\master\health-card-master.page.ts" />
<None Remove="src\app\areas\admin\health-card\pages\master\health-card\modify-health-card.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\ivf.namespace.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\addIUI-data\addIUI-data.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\aspiration\aspiration.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\contraception-history\contraception-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\dualtrigger-injection\dualtrigger-injection.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\embryo-cryopreservation\embryo-cryopreservation.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\embryo-thawing\embryo-thawing.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\embryology-detail\embryology-detail.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\fertilization\fertilization.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\hysteroscopy\hysteroscopy.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\iui-summary\iui-summary.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\iuistimulation-scan\iuistimulation-scan.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\ivf-summarys\ivf-summarys.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\laproscopy\laproscopy.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\marriedlife-history\marriedlife-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\menstrual-history3months\menstrual-history3months.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\family-history\family-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\observation-infertility\observation-infertility.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\oocyte-cryopreservation\oocyte-cryopreservation.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\other-investigation-history\other-investigation-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\personal-history\personal-history.page.ts" />
<None Remove="src\app\areas\admin\ivf-encounter\Pages\physical-gynecological\physical-gynecological.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\data-entry-operator-view\data-entry-operator-view-page.ts" />
<None Remove="src\app\areas\admin\labs\pages\demographicPatient-report\demographicPatient-report.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\lab-report\lab-report.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\lab-setting\lab-status\lab-status.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\lab-setting\labs-setting.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\labs-booked\labs-booked.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\labs-cancellation\labs-cancellation.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\master\external-lab-agency\external-lab-agency.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\master\lab-vacutainer\lab-vacutainer.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\master\machine\machine.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\external-lab-agency-detail-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\external-lab-angency-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\external-lab-transfer-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-booking-status-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-color-template-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-import-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-observedValue.model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-parameter-input-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-receive-model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-report-patient.model.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-report-signature.ts" />
<None Remove="src\app\areas\admin\labs\pages\models\lab-sample-handler-newmodel.ts" />
<None Remove="src\app\areas\admin\labs\pages\sample-collection-track-report\sample-collection-track-report.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\sample-transfer-external\sample-transfer-external.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\sample-transfer-track-report\sample-transfer-track-report.page.ts" />
<None Remove="src\app\areas\admin\labs\pages\verify-report\verify-report.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\authority-master\authority-master.pag.ts" />
<None Remove="src\app\areas\admin\masters\pages\baby-registration\baby-registration.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\birth-certificate\birth-certificate.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\birth-report\birth-report.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\call-history\callhistory.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\case-type\case-type.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\doctor-unit\doctor-unit.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\dynamic-template\dynamic-template.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gyn-iui\gyn-iui.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gynae-card\gynae-card.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gynaec-visit\gynaec-visit.page.ts" />
<None Remove="src\app\areas\admin\gyn-encounter\pages\gyneac-orders\gyneac-orders.page.ts" />
<None Remove="src\app\areas\admin\leave-managment\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\appointment-types\appointment-types.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\encounter-order-master\encounter-order-master.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\module-master\module-master.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\components\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\models\charge-module-details.model.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\models\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\models\module-charge.model.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\models\package-module-view.model.ts" />
<None Remove="src\app\areas\admin\masters\pages\package-modules\pages\index.ts" />
<None Remove="src\app\areas\admin\masters\pages\patient-import\patient-import.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\reasons\reasons.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\reference-types\reference-types.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\referral-doctor\referral-doctor.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\session-types\session-types.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\Session\session.page.ts" />
<None Remove="src\app\areas\admin\masters\pages\working-hour\working-hour.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\admission-details\admission-details-page.ts" />
<None Remove="src\app\areas\admin\neonatal-ip-encounter\index.ts" />
<None Remove="src\app\areas\admin\neonatal-ip-encounter\neonatal-ip-emr.page.ts" />
<None Remove="src\app\areas\admin\neonatal-ip-encounter\neonatal.namespace.ts" />
<None Remove="src\app\areas\admin\neonatal-ip-encounter\pages\neonatal-baby\neonatal-baby.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\admssion-slips\admssion-slips.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\allergies\allergies.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anaesthesia-record\anaesthesia-record.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anaesthesia-report\anaesthesia-report.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-card-closure\anc-card-closure.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-card-generation\anc-card-generation.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-visit\breech\breech.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-visit\general-examination\general-examination.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-visit\measure\measure.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\cross-consultation\cross-consultation.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\delivery-View\delivery.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\discharge-summary\discharge-summary.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\doctors-review\doctors-review.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\external-cephalic-version\external-cephalic-version.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\family-history\family-history.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\induction-of-labour\induction-of-labour.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\iol-list\iol-list.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\mother-with-epilepsy\mother-with-epilepsy.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\neonatal-inital-assessment\neonatal-inital-assessment.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\nurse-assesment\nurse-assesment.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\ob-lab-reports\ob-lab-reports.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\op-management\op-management.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\opinion-form\opinion-form.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\out-patient-management\out-patient-management.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\outside-test\outside-test.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\postnantal-report\postnantal-report.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\pre-preganancy\pre-preganancy.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\pre-pregnancy-councelling-report\pre-pregnancy-councelling-report.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\pre-pregnancy-plan\pre-pregnancy-plan.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\referral-form\referral-form.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\risk-factor\antinantal-risk\antinantal-risk.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-card\anc-cards\anc-cards-page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\anc-card\covid\covid-page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\antinantal-risk\antinantal-risk.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\breast-examination\breast-examination.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\complaints\complaints.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\drug-history\drug-history.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\menstrual-history\menstrual-history.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\ob-birthhistory\ob-birthhistory.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\ob-vital-signs\ob-vital-signs.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\obstetric-examination\obstetric-examination.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\op-procedure-form\op-procedure-form.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\orders-prescription\orders-prescription.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\other-detail\other-detail.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\plan-of-management\plan-of-management.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\postnantal-visit\postnantal-visit.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\procedure-surgeries\procedure-surgeries.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\risk-factor\sga-scanning\sga-scanning.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\special-feature\special-feature.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\subcategory.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\syndromes\syndromes.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\vaccine\vaccine.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\vaginal-examination\vaginal-examination.page.ts" />
<None Remove="src\app\areas\admin\ob-encounter\pages\risk-factor\vte-risk\vte-risk.page.ts" />
<None Remove="src\app\areas\admin\operation-theater\pages\booking-otroom-appointment\booking-otroom-appointment.page.ts" />
<None Remove="src\app\areas\admin\patient-prescription\index.ts" />
<None Remove="src\app\areas\admin\patient-prescription\pages\ob-prescription\ob-prescription.page.ts" />
<None Remove="src\app\areas\admin\patient-prescription\pages\ob-prescription\ob.namespace.ts" />
<None Remove="src\app\areas\admin\patient-prescription\patient-prescription.page.ts" />
<None Remove="src\app\areas\admin\patient\pages\card-generation\card-generation.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\index.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\clinical-examination\clinical-examination.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\dashboard\dashboard.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\denverchart\denverchart.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\documents\documents.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\high-risk\high-risk.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\measurements\measurement.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\neonatal-risk\neonatal-risk.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\pediatric-guide\pediatric-guide.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\pediatric-risk\pediatric-risk.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\prescription-reports\prescription.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\syndromes\syndromes.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pages\Vitals\vitals-graph.page.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pediatric-encounter.namespace.ts" />
<None Remove="src\app\areas\admin\pediatric-encounter\pediatric-encounter.page.ts" />
<None Remove="src\app\areas\admin\pharmacy\pages\demand-book\demand-book.page.ts" />
<None Remove="src\app\areas\admin\physiotherapy-encounter\physiotherapy-encounter.page.ts" />
<None Remove="src\app\areas\admin\print-prescription\index.ts" />
<None Remove="src\app\areas\admin\print-prescription\pages\gyn-prescription\gyn-prescription.page.ts" />
<None Remove="src\app\areas\admin\print-prescription\print-prescription.page.ts" />
<None Remove="src\app\areas\admin\progress-report\pages\diet-plan\diet-plan.page.ts" />
<None Remove="src\app\areas\admin\provider-otappointment-booking\provider-otappointment-booking.page.ts" />
<None Remove="src\app\areas\admin\provider-scanappointment-booking\provider-scanappointment-booking.page.ts" />
<None Remove="src\app\areas\admin\registers\index.ts" />
<None Remove="src\app\areas\admin\registers\pages\daycare-admission-discharge\daycare-admission-discharge.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\ff-semiprivate-admission-discharge\ff-semiprivate-admission-discharge.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\emergency-register\emergency-register.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\first-floor-admission-discharge.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\ground-floor-admission-discharge\ground-floor-admission-discharge.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\midwife-register\midwife-register.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\labour-ward-registers\labour-ward-registers.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\nicu-deliver-register\nicu-deliver-register.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\nicu-op-register\nicu-op-register.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\nicu-register\nicu-register.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\ot-all-registers\ot-all-register.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\ot-registers\ot-registers.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\second-floor-admission-discharge\second-floor-admission-discharge.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\third-floor-admission-discharge\third-floor-admission-discharge.page.ts" />
<None Remove="src\app\areas\admin\registers\pages\third-floor-labour-ward-register\third-floor-labour-ward-register.page.ts" />
<None Remove="src\app\areas\admin\registers\registers.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\counts\call-center-report\call-center-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\collection\accessed-user-daily-collection\accessed-user-daily-collection.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\collection\bill-discount\bill-discount.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\collection\mis-report\mis-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\counts\admission-department\admission-department.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\counts\avarage-stay-ward-wise -report\avarage-stay-ward-wise-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\counts\consultant-statistics-form\consultant-statistics-form.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\counts\dept-wise-admission-count\dept-wise-admission-count.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\counts\new-patient\new-patient.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\lab-order-report\lab-order-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\lab\consultant-wise-report\consultant-wise-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\lab\lab-track-report\lab-track-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\lab\monthly-lab-count\monthly-lab-count.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\pharmacy\expiry-stock-reports\expiry-stock-reports.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\medication-count-report\medication-count-report.page.ts" />
<None Remove="src\app\areas\admin\reports\pages\pharmacy\indent-issue-retail-report\indent-issue-retail-report.page.ts" />
<None Remove="src\app\areas\admin\scan-test\pages\booking-scan-appointment\booking-scan-appointment.page.ts" />
<None Remove="src\app\areas\admin\services\models\diet-shift-slots.ts" />
<None Remove="src\app\areas\admin\services\models\new-lab-services.model.ts" />
<None Remove="src\app\areas\admin\settings\index.ts" />
<None Remove="src\app\areas\admin\template-design\pages\masters\template-config\template-config.page.ts" />
<None Remove="src\app\areas\diet-report\diet-report.ts" />
<None Remove="src\app\areas\new-lab-bills\new-lab-bills.page.ts" />
<None Remove="src\app\areas\new-lab-mainreports\new-lab-mainreports.page.ts" />
<None Remove="src\app\areas\new-lab-reports\new-lab-reports.page.ts" />
<None Remove="src\app\shared\entities\admission-transfer-request.entity.ts" />
<None Remove="src\app\shared\entities\ambulance.entity.ts" />
<None Remove="src\app\shared\entities\ambulance\ambulance-receipt.entity.ts" />
<None Remove="src\app\shared\entities\ambulance\driver-details.entity.ts" />
<None Remove="src\app\shared\entities\appoinment-types.entity.ts" />
<None Remove="src\app\shared\directives\trimspace.directive.ts" />
<None Remove="src\app\shared\entities\assessment-type.entity.ts" />
<None Remove="src\app\shared\entities\authority.entity.ts" />
<None Remove="src\app\shared\entities\case-type.entity.ts" />
<None Remove="src\app\shared\entities\charge-category.entity.ts" />
<None Remove="src\app\shared\entities\charge-types.entity.ts" />
<None Remove="src\app\shared\entities\components.entity.ts" />
<None Remove="src\app\shared\entities\componentType.entity.ts" />
<None Remove="src\app\shared\entities\denver-chart.entity.ts" />
<None Remove="src\app\shared\entities\dept-wise-admission-count-entity.ts" />
<None Remove="src\app\shared\entities\diet-guidlines.entity.ts" />
<None Remove="src\app\shared\entities\diet-items.entity.ts" />
<None Remove="src\app\shared\entities\diet-slots.entity.ts" />
<None Remove="src\app\shared\entities\discharge-instructions.entity.ts" />
<None Remove="src\app\shared\entities\doctor-appointment-notice.entity.ts" />
<None Remove="src\app\shared\entities\doctor-specialization-consultation.entity.ts" />
<None Remove="src\app\shared\entities\doctor-unit.entity.ts" />
<None Remove="src\app\shared\entities\dynamic-template.entity.ts" />
<None Remove="src\app\shared\entities\encounter-type.entity.ts" />
<None Remove="src\app\shared\entities\encounter-value.entity.ts" />
<None Remove="src\app\shared\entities\geneticSpecialityList.entity.ts" />
<None Remove="src\app\shared\entities\icdValues.entity.ts" />
<None Remove="src\app\shared\entities\id-proof.entity.ts" />
<None Remove="src\app\shared\entities\insurance-template.entity.ts" />
<None Remove="src\app\shared\entities\inventory-purchase-bill.entity.ts" />
<None Remove="src\app\shared\entities\inventory-stock.entity.ts" />
<None Remove="src\app\shared\entities\ivf-full-transcript.entity.ts" />
<None Remove="src\app\shared\entities\lab-monthly-count.entity.ts" />
<None Remove="src\app\shared\entities\lab-new-tat- report.entity.ts" />
<None Remove="src\app\shared\entities\laboratory\lab-location-charges.entity.ts" />
<None Remove="src\app\shared\entities\laboratory\lab-vacutainer.entity.ts" />
<None Remove="src\app\shared\entities\laboratory\machine.entity.ts" />
<None Remove="src\app\shared\entities\meal-types.entity.ts" />
<None Remove="src\app\shared\entities\message.entity.ts" />
<None Remove="src\app\shared\entities\module-master.entity.ts" />
<None Remove="src\app\shared\entities\ob-patient-prescription.entity.ts" />
<None Remove="src\app\shared\entities\order-prescription.entity.ts" />
<None Remove="src\app\shared\entities\ot-register.entity.ts" />
<None Remove="src\app\shared\entities\otroom-booking.entity.ts" />
<None Remove="src\app\shared\entities\pay-category.entity.ts" />
<None Remove="src\app\shared\entities\payment-map-helper.entity.ts" />
<None Remove="src\app\shared\entities\paytype.entity.ts" />
<None Remove="src\app\shared\entities\pharmacy-product-type.entity.ts" />
<None Remove="src\app\shared\entities\pharmacy-retail-stock.entity.ts" />
<None Remove="src\app\shared\entities\pharmacy\pharmacy-product-sub-type.entity.ts" />
<None Remove="src\app\shared\entities\pharmacy\retail-indent-issue-report.entity.ts" />
<None Remove="src\app\shared\entities\provider-availabilitiy.entity.ts" />
<None Remove="src\app\shared\entities\provider-schedule-charges.entity.ts" />
<None Remove="src\app\shared\entities\provider-schedule.entity.ts" />
<None Remove="src\app\shared\entities\quantity-measure.entity.ts" />
<None Remove="src\app\shared\entities\Reasons.entity.ts" />
<None Remove="src\app\shared\entities\reference-types.entity.ts" />
<None Remove="src\app\shared\entities\referraldoctor.entity.ts" />
<None Remove="src\app\shared\entities\reports\relations.entity.ts" />
<None Remove="src\app\shared\entities\roomcharge.entity.ts" />
<None Remove="src\app\shared\entities\salutation.entity.ts" />
<None Remove="src\app\shared\entities\scan-appointment-notice.entity.ts" />
<None Remove="src\app\shared\entities\scan-booking.entity.ts" />
<None Remove="src\app\shared\entities\scan-machine.entity.ts" />
<None Remove="src\app\shared\entities\scan-test.entity.ts" />
<None Remove="src\app\shared\entities\Session.entity.ts" />
<None Remove="src\app\shared\entities\sessionType.entity.ts" />
<None Remove="src\app\shared\entities\settings.entity.ts" />
<None Remove="src\app\shared\entities\tag-doctor.entity.ts" />
<None Remove="src\app\shared\entities\templateConfig.entity.ts" />
<None Remove="src\app\shared\entities\unit-type.entity.ts" />
<None Remove="src\app\shared\entities\vital-type.entity.ts" />
<None Remove="src\app\shared\entities\wokring-hour.entity.ts" />
<None Remove="src\app\shared\enums\diet-encounter.enum.ts" />
<None Remove="src\app\shared\enums\export-type.enum.ts" />
<None Remove="src\app\shared\enums\genetic-speciality-encounter-type.ts" />
<None Remove="src\app\shared\enums\ivf-encounter.enum.ts" />
<None Remove="src\app\shared\enums\pediatric-encounter.enum.ts" />
<None Remove="src\app\shared\models\diet-encounter.model.ts" />
<None Remove="src\app\shared\models\emergency-encounter.model.ts" />
<None Remove="src\app\shared\models\gyn-encounter.model.ts" />
<None Remove="src\app\shared\models\ivf-encounter.model.ts" />
<None Remove="src\app\shared\models\ob-encounter.model.ts" />
<None Remove="src\app\shared\models\pediatric-encounter.model.ts" />
<None Remove="src\app\shared\models\provider-bankaccount.model.ts" />
<None Remove="src\app\shared\services\bill-notificaton.service.ts" />
<None Remove="src\app\shared\services\export.service.ts" />
<None Remove="src\app\shared\services\shared.service.ts" />
<None Remove="src\app\shared\validators\uniq-userNameValidator.ts" />
<None Remove="src\app\shared\widgets\assign-charges\assign-charges.widget.ts" />
<None Remove="src\app\shared\widgets\color-identification\color-identification.widget.ts" />
<None Remove="src\app\shared\widgets\gyn-header\gyn-header.widget.ts" />
<None Remove="src\app\shared\widgets\internal-medicine\internal-medicine.widget.ts" />
<None Remove="src\app\shared\widgets\messaging\messaging.widget.ts" />
<None Remove="src\app\shared\widgets\new-lab-invoice\new-lab-invoice.widget.ts" />
<None Remove="src\app\shared\widgets\new-lab-report\new-lab-report.widget.ts" />
<None Remove="src\app\shared\widgets\new-lab-timeline\new-lab-timeline.widget.ts" />
<None Remove="src\app\shared\widgets\Ob-header\ob-header.ts" />
<None Remove="src\app\shared\widgets\pediatric-header\pediatrics-header.page.ts" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.TaskRunnerExplorer.14.0" Version="14.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="TaskRunner" Version="1.0.0" />
<PackageReference Include="Webpack" Version="4.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Domain\Hims.Domian.Helpers\Hims.Domain.Helpers.csproj" />
<ProjectReference Include="..\..\Shared\Hims.Shared.Library\Hims.Shared.Library.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="src\app\areas\admin\patient-multiple-forms\pages\edit-patient-details\" />
<Folder Include="src\app\areas\admin\physiotherapy-encounter\pages\" />
<Folder Include="wwwroot\assets\fonts\themify\fonts\" />
<Folder Include="wwwroot\assets\images\pediatric-images\" />
</ItemGroup>
<ItemGroup>
<None Include="wwwroot\assets\css\styles\calendar.css" />
<None Include="wwwroot\assets\css\styles\fullcalendar\core.css" />
<None Include="wwwroot\assets\css\styles\fullcalendar\daygrid.css" />
<None Include="wwwroot\assets\css\styles\fullcalendar\list.css" />
<None Include="wwwroot\assets\css\styles\fullcalendar\timegrid.css" />
</ItemGroup>
<ItemGroup>
<TypeScriptCompile Include="src\app\areas\admin\admissions\pages\transfer-request\transfer-request.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\ambulance.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\pages\masters\add-ambulance\add-ambulance.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\pages\masters\driver-detail\driverDetail.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\pages\masters\masters.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ambulance\pages\reciept\reciept.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\charge-module\models\doctor-specialization-charge-module-detail-entity.ts" />
<TypeScriptCompile Include="src\app\areas\admin\charge-module\models\view-template-charges.entity.ts" />
<TypeScriptCompile Include="src\app\areas\admin\charge-module\pages\assign-doctor-charges\assign-doctor-charges.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\diet.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\dashboard\dashboard.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\diet-guidelines\diet-guidelines.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\diet-plan-prescribed\diet-plan-prescribed.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\diet-plan.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\documents\documents.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\ip-nutritional-assessment\ip-nutritional-screen-assessment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\new-op-assessment\new-op-assessment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\op-nutritional-assesment\op-nutritional-assesment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\op-nutrition-screen-form\op-nutrition-screening-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\pediatric-cdc-screening\pediatric-cdc-screening.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet-plan-encounter\pages\syndromes-form-p\syndromes-form-p.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\models\diet-condition-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\models\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\models\view-diet-package.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\add-conditions\add-conditions.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\diet-conditions\diet-condition.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\diet-items\diet-items.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\diet-slots\diet-slots.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\diet.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\diet\pages\view-diet-package\view-diet-packag.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\emergency-encounter\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\emergency-encounter\pages\emergency-triage\emergency-triage.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\full-transcript\pages\diet-report\diet.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\full-transcript\pages\ivf-report\ivf-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\genetic-speciality-encounter\genetic-speciality.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\genetic-speciality-encounter\genetic-speciality.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\genetic-speciality-encounter\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\genetic-speciality-encounter\pages\dashboard\dashboard.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\genetic-speciality-encounter\pages\genetic-visit\genetic-visit.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\ectopic-pregnency\ectopic-pregnency.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gyn-card-generation\gyn-card-generation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gyn-history-new\gyn-history-new.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\emergency-encounter\pages\nursing-er-form\nursing-er-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\colposcopy\colposcopy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\reminder\reminder.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gynaec-surgeries\gynaec-surgeries.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gynaec-admission-sheet\gynaec-admission-sheet.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\print-prescription\print-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\measure\measure.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\nurse-notes-report\nurse-notes-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\health-card.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\pages\health-card-issue\health-card-issue.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\pages\health-card-report\health-card-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\pages\master\health-card-master.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\health-card\pages\master\health-card\modify-health-card.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\ivf.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\addIUI-data\addIUI-data.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\aspiration\aspiration.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\contraception-history\contraception-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\dualtrigger-injection\dualtrigger-injection.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\embryo-cryopreservation\embryo-cryopreservation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\fertilization\fertilization.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\embryo-thawing\embryo-thawing.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\embryology-detail\embryology-detail.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\hysteroscopy\hysteroscopy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\iui-summary\iui-summary.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\iuistimulation-scan\iuistimulation-scan.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\ivf-summarys\ivf-summarys.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\laproscopy\laproscopy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\marriedlife-history\marriedlife-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\menstrual-history3months\menstrual-history3months.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\family-history\family-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\observation-infertility\observation-infertility.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\oocyte-cryopreservation\oocyte-cryopreservation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\other-investigation-history\other-investigation-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\personal-history\personal-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ivf-encounter\Pages\physical-gynecological\physical-gynecological.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\data-entry-operator-view\data-entry-operator-view-page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\demographicPatient-report\demographicPatient-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\lab-setting\lab-status\lab-status.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\lab-setting\labs-setting.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\labs-booked\labs-booked.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\lab-report\lab-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\labs-cancellation\labs-cancellation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\master\external-lab-agency\external-lab-agency.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\master\lab-vacutainer\lab-vacutainer.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\master\machine\machine.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\external-lab-agency-detail-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\external-lab-angency-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\external-lab-transfer-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-booking-status-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-color-template-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-import-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-observedValue.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-parameter-input-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-receive-model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-report-patient.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-report-signature.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\models\lab-sample-handler-newmodel.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\sample-collection-track-report\sample-collection-track-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\sample-transfer-external\sample-transfer-external.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\sample-transfer-track-report\sample-transfer-track-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\labs\pages\verify-report\verify-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\authority-master\authority-master.pag.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\baby-registration\baby-registration.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\birth-certificate\birth-certificate.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\birth-report\birth-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\call-history\callhistory.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\case-type\case-type.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\doctor-unit\doctor-unit.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\dynamic-template\dynamic-template.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gyn-iui\gyn-iui.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gynae-card\gynae-card.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gynaec-visit\gynaec-visit.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\gyn-encounter\pages\gyneac-orders\gyneac-orders.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\leave-managment\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\appointment-types\appointment-types.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\encounter-order-master\encounter-order-master.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\module-master\module-master.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\components\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\models\module-charge.model.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\models\charge-module-details.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\models\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\models\package-module-view.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\package-modules\pages\index.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\reasons\reasons.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\reference-types\reference-types.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\referral-doctor\referral-doctor.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\session-types\session-types.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\Session\session.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\patient-import\patient-import.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\masters\pages\working-hour\working-hour.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\admission-details\admission-details-page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\neonatal-ip-encounter\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\neonatal-ip-encounter\neonatal-ip-emr.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\neonatal-ip-encounter\neonatal.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\neonatal-ip-encounter\pages\neonatal-baby\neonatal-baby.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\admssion-slips\admssion-slips.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\delivery-View\delivery.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\doctors-review\doctors-review.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\induction-of-labour\induction-of-labour.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\neonatal-inital-assessment\neonatal-inital-assessment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\nurse-assesment\nurse-assesment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\op-management\op-management.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anaesthesia-record\anaesthesia-record.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anaesthesia-report\anaesthesia-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-card-closure\anc-card-closure.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-card-generation\anc-card-generation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-visit\breech\breech.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-visit\general-examination\general-examination.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-visit\measure\measure.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\cross-consultation\cross-consultation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\discharge-summary\discharge-summary.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\external-cephalic-version\external-cephalic-version.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\opinion-form\opinion-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\outside-test\outside-test.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\syndromes\syndromes.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\family-history\family-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\iol-list\iol-list.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\mother-with-epilepsy\mother-with-epilepsy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\ob-lab-reports\ob-lab-reports.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\out-patient-management\out-patient-management.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\postnantal-report\postnantal-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\pre-preganancy\pre-preganancy.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\allergies\allergies.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\pre-pregnancy-councelling-report\pre-pregnancy-councelling-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\pre-pregnancy-plan\pre-pregnancy-plan.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\referral-form\referral-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\risk-factor\antinantal-risk\antinantal-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-card\anc-cards\anc-cards-page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\anc-card\covid\covid-page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\antinantal-risk\antinantal-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\breast-examination\breast-examination.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\complaints\complaints.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\drug-history\drug-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\menstrual-history\menstrual-history.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\ob-birthhistory\ob-birthhistory.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\ob-vital-signs\ob-vital-signs.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\obstetric-examination\obstetric-examination.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\op-procedure-form\op-procedure-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\orders-prescription\orders-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\other-detail\other-detail.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\plan-of-management\plan-of-management.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\postnantal-visit\postnantal-visit.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\procedure-surgeries\procedure-surgeries.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\risk-factor\sga-scanning\sga-scanning.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\special-feature\special-feature.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\subcategory.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\vaccine\vaccine.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\vaginal-examination\vaginal-examination.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\ob-encounter\pages\risk-factor\vte-risk\vte-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\operation-theater\pages\booking-otroom-appointment\booking-otroom-appointment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient-prescription\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient-prescription\pages\ob-prescription\ob.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient-prescription\pages\ob-prescription\ob-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient-prescription\patient-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\patient\pages\card-generation\card-generation.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\denverchart\denverchart.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\down-syndrome-followup\down-syndrome-followup.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\dashboard\dashboard.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\documents\documents.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\high-risk\high-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\measurements\measurement.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\neonatal-risk\neonatal-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\pediatric-guide\pediatric-guide.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\pediatric-risk\pediatric-risk.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\prescription-reports\prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\syndromes\syndromes.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pages\Vitals\vitals-graph.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pediatric-encounter.namespace.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pediatric-encounter\pediatric-encounter.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\pharmacy\pages\demand-book\demand-book.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\physiotherapy-encounter\physiotherapy-encounter.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\print-prescription\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\print-prescription\pages\gyn-prescription\gyn-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\print-prescription\print-prescription.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\progress-report\pages\diet-plan\diet-plan.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\provider-otappointment-booking\provider-otappointment-booking.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\provider-scanappointment-booking\provider-scanappointment-booking.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\registers\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\daycare-admission-discharge\daycare-admission-discharge.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\nicu-deliver-register\nicu-deliver-register.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\midwife-register\midwife-register.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\third-floor-labour-ward-register\third-floor-labour-ward-register.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\nicu-op-register\nicu-op-register.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\nicu-register\nicu-register.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\ground-floor-admission-discharge\ground-floor-admission-discharge.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\ff-semiprivate-admission-discharge\ff-semiprivate-admission-discharge.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\emergency-register\emergency-register.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\first-floor-admission-discharge\first-floor-admission-discharge.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\ot-registers\ot-registers.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\ot-all-registers\ot-all-register.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\third-floor-admission-discharge\third-floor-admission-discharge.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\second-floor-admission-discharge\second-floor-admission-discharge.page.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\areas\admin\registers\pages\labour-ward-registers\labour-ward-registers.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\registers\registers.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\counts\call-center-report\call-center-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\collection\accessed-user-daily-collection\accessed-user-daily-collection.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\collection\bill-discount\bill-discount.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\counts\admission-department\admission-department.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\counts\avarage-stay-ward-wise -report\avarage-stay-ward-wise-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\counts\consultant-statistics-form\consultant-statistics-form.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\counts\dept-wise-admission-count\dept-wise-admission-count.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\counts\new-patient\new-patient.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\collection\mis-report\mis-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\medication-count-report\medication-count-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\lab\consultant-wise-report\consultant-wise-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\lab\lab-track-report\lab-track-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\pharmacy\expiry-stock-reports\expiry-stock-reports.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\lab-order-report\lab-order-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\lab\monthly-lab-count\monthly-lab-count.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\reports\pages\pharmacy\indent-issue-retail-report\indent-issue-retail-report.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\scan-test\pages\booking-scan-appointment\booking-scan-appointment.page.ts" />
<TypeScriptCompile Include="src\app\areas\admin\services\models\diet-shift-slots.ts" />
<TypeScriptCompile Include="src\app\areas\admin\services\models\new-lab-services.model.ts" />
<TypeScriptCompile Include="src\app\areas\admin\settings\index.ts" />
<TypeScriptCompile Include="src\app\areas\admin\template-design\pages\masters\template-config\template-config.page.ts" />
<TypeScriptCompile Include="src\app\areas\diet-report\diet-report.ts" />
<TypeScriptCompile Include="src\app\areas\new-lab-bills\new-lab-bills.page.ts" />
<TypeScriptCompile Include="src\app\areas\new-lab-mainreports\new-lab-mainreports.page.ts" />
<TypeScriptCompile Include="src\app\areas\new-lab-reports\new-lab-reports.page.ts" />
<TypeScriptCompile Include="src\app\shared\entities\admission-transfer-request.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ambulance.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ambulance\ambulance-receipt.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ambulance\driver-details.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\appoinment-types.entity.ts" />
<TypeScriptCompile Include="src\app\shared\directives\trimspace.directive.ts" />
<TypeScriptCompile Include="src\app\shared\entities\authority.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\dept-wise-admission-count-entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\insurance-template.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\case-type.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\denver-chart.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\diet-items.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\diet-slots.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\geneticSpecialityList.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\lab-monthly-count.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\inventory-request.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\pharmacy-retail-stock.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\lab-new-tat- report.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\pharmacy\pharmacy-product-sub-type.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\pharmacy\retail-indent-issue-report.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\quantity-measure.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\reports\relations.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\scan-appointment-notice.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\doctor-appointment-notice.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\doctor-specialization-consultation.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\doctor-unit.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\encounter-value.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\icdValues.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\diet-guidlines.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\laboratory\lab-vacutainer.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\message.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ot-register.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\ob-patient-prescription.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\payment-map-helper.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\reasons.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\roomcharge.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\encounter-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\components.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\dynamic-template.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\componentType.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\ivf-full-transcript.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\referraldoctor.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\salutation.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\laboratory\machine.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\order-prescription.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\charge-category.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\id-proof.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\pay-category.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\otroom-booking.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\Session.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\sessionType.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\settings.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\scan-booking.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\reference-types.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\paytype.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\scan-machine.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\scan-test.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\laboratory\lab-location-charges.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\meal-types.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\charge-types.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\module-master.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\tag-doctor.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\templateConfig.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\unit-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\assessment-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\provider-schedule.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\provider-schedule-charges.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\consultation-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\vital-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\visit-type.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\inventory-stock.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\inventory-purchase-bill.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\refund.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\bed-management.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\discharge-instructions.entity.ts">
<SubType>Code</SubType>
</TypeScriptCompile>
<TypeScriptCompile Include="src\app\shared\entities\role.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\pharmacy\pharmacy-product-type.entity.ts" />
<TypeScriptCompile Include="src\app\shared\entities\wokring-hour.entity.ts" />
<TypeScriptCompile Include="src\app\shared\enums\diet-encounter.enum.ts" />
<TypeScriptCompile Include="src\app\shared\enums\export-type.enum.ts" />
<TypeScriptCompile Include="src\app\shared\enums\genetic-speciality-encounter-type.ts" />
<TypeScriptCompile Include="src\app\shared\enums\ivf-encounter.enum.ts" />
<TypeScriptCompile Include="src\app\shared\enums\pediatric-encounter.enum.ts" />
<TypeScriptCompile Include="src\app\shared\models\diet-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\emergency-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\ivf-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\ob-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\gyn-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\pediatric-encounter.model.ts" />
<TypeScriptCompile Include="src\app\shared\models\provider-bankaccount.model.ts" />
<TypeScriptCompile Include="src\app\shared\services\bill-notificaton.service.ts" />
<TypeScriptCompile Include="src\app\shared\services\export.service.ts" />
<TypeScriptCompile Include="src\app\shared\services\shared.service.ts" />
<TypeScriptCompile Include="src\app\shared\validators\uniq-userNameValidator.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\assign-charges\assign-charges.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\internal-medicine\internal-medicine.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\color-identification\color-identification.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\messaging\messaging.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\new-lab-invoice\new-lab-invoice.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\new-lab-report\new-lab-report.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\new-lab-timeline\new-lab-timeline.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\gyn-header\gyn-header.widget.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\Ob-header\ob-header.ts" />
<TypeScriptCompile Include="src\app\shared\widgets\pediatric-header\pediatrics-header.page.ts" />
</ItemGroup>
</Project>
namespace Hims.Admin.Middleware
{
using System.Threading.Tasks;
using Microsoft.AspNetCore.Antiforgery;
using Microsoft.AspNetCore.Http;
/// <summary>
/// Anti-forgery key
/// </summary>
public class AntiForgeryTokenMiddleware
{
/// <summary>
/// The <see cref="antiForgery"/>.
/// </summary>
private readonly IAntiforgery antiForgery;
/// <summary>
/// Initializes a new instance of the <see cref="AntiForgeryTokenMiddleware"/> class.
/// </summary>
/// <param name="next">
/// The next.
/// </param>
/// <param name="antiForgery">
/// The <paramref name="antiForgery"/>.
/// </param>
public AntiForgeryTokenMiddleware(RequestDelegate next, IAntiforgery antiForgery)
{
this.Next = next;
this.antiForgery = antiForgery;
}
/// <summary>
/// Gets the next.
/// </summary>
private RequestDelegate Next { get; }
/// <summary>
/// The invoke.
/// </summary>
/// <param name="context">
/// The context.
/// </param>
/// <returns>
/// The <see cref="Task"/>.
/// </returns>
public Task Invoke(HttpContext context)
{
var tokens = this.antiForgery.GetAndStoreTokens(context);
context.Response.Cookies.Append("XSRF-TOKEN", tokens.RequestToken, new CookieOptions { HttpOnly = false });
return this.Next(context);
}
}
}
namespace Hims.Admin
{
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
/// <summary>
/// The program.
/// </summary>
public class Program
{
/// <summary>
/// The main.
/// </summary>
/// <param name="args">
/// The args.
/// </param>
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
/// <summary>
/// The create host builder.
/// </summary>
/// <param name="args">
/// The args.
/// </param>
/// <returns>
/// The <see cref="IHostBuilder"/>.
/// </returns>
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
namespace Hims.Admin
{
using System.Text.Json;
using System.Text.Json.Serialization;
using Extensions;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
/// <summary>
/// The startup.
/// </summary>
public class Startup
{
/// <summary>
/// Initializes a new instance of the <see cref="Startup"/> class.
/// </summary>
/// <param name="configuration">
/// The configuration.
/// </param>
public Startup(IConfiguration configuration) => this.Configuration = configuration;
/// <summary>
/// Gets the configuration.
/// </summary>
private IConfiguration Configuration { get; }
/// <summary>
/// This method gets called by the runtime. Use this method to add services to the container.
/// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
/// </summary>
/// <param name="services">
/// The services.
/// </param>
public void ConfigureServices(IServiceCollection services)
{
services
.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.Cookie.Name = this.Configuration.GetSection("CookieName").Get<string>();
});
services.AddControllersWithViews(config =>
{
config.RespectBrowserAcceptHeader = false;
config.ReturnHttpNotAcceptable = true;
})
.AddJsonOptions(a =>
{
a.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
a.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
});
services.AddOptions();
services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN");
}
/// <summary>
/// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
/// </summary>
/// <param name="app">
/// The app.
/// </param>
public void Configure(IApplicationBuilder app)
{
app.UseDefaultFiles();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAntiForgeryToken();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllers();
});
app.UseCors(policy => policy.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin());
}
}
}
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"hims": {
"projectType": "application",
"schematics": {},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "wwwroot",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": [
"zone.js",
"@angular/localize/init"
],
"allowedCommonJsDependencies": [
"jquery",
"bootstrap",
"moment",
"moment-timezone",
"lodash.clonedeep",
"bootbox",
"simplebar"
],
"tsConfig": "tsconfig.app.json",
"assets": [
"src/assets"
],
"styles": [
"./node_modules/simplebar/dist/simplebar.css"
],
"scripts": [
"./node_modules/jquery/dist/jquery.min.js",
"./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",
"./node_modules/simplebar/dist/simplebar.min.js"
],
"serviceWorker": true,
"ngswConfigPath": "ngsw-config.json"
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "4mb",
"maximumError": "6mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "50kb",
"maximumError": "100kb"
}
],
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"outputHashing": "all"
},
"development": {
"buildOptimizer": false,
"optimization": false,
"vendorChunk": true,
"extractLicenses": false,
"sourceMap": true,
"namedChunks": true
}
},
"defaultConfiguration": "development"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"browserTarget": "hims:build:production"
},
"development": {
"browserTarget": "hims:build:development"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "hims:build"
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
]
}
}
}
}
},
"cli": {
"schematicCollections": [
"@angular-eslint/schematics",
"@angular-eslint/schematics"
],
"analytics": false
}
}
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"CookieName": "Hims.Admin"
}
{
"$schema": "./node_modules/@angular/service-worker/config/schema.json",
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": [
"/favicon.ico",
"/index.html",
"/manifest.webmanifest",
"/*.css",
"/*.js"
]
}
},
{
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**",
"/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)"
]
}
}
]
}
\ No newline at end of file
{
"name": "hims-web",
"version": "1.0.0",
"license": "MIT",
"private": true,
"main": "wwwroot/index.html",
"scripts": {
"ng": "NODE_OPTIONS=--max_old_space_size=11192 ng",
"start": "ng serve --port 4200",
"build": "SET NODE_OPTIONS=--max_old_space_size=11192 && ng build --configuration development",
"build:prod": "ng build --configuration production",
"watch": "ng build --watch --configuration development",
"lint": "ng lint"
},
"dependencies": {
"@angular/animations": "^16.2.8",
"@angular/common": "^16.2.8",
"@angular/compiler": "^16.2.8",
"@angular/core": "^16.2.8",
"@angular/forms": "^16.2.8",
"@angular/localize": "^16.2.8",
"@angular/platform-browser": "^16.2.8",
"@angular/platform-browser-dynamic": "^16.2.8",
"@angular/router": "^16.2.8",
"@angular/service-worker": "^16.2.8",
"@microsoft/signalr": "7.0.11",
"@ng-bootstrap/ng-bootstrap": "15.1.1",
"@ng-idle/core": "13.0.0",
"@ng-select/ng-select": "11.1.1",
"@ngx-loading-bar/core": "6.0.2",
"@ngx-loading-bar/http-client": "6.0.2",
"@ngx-loading-bar/router": "6.0.2",
"@popperjs/core": "2.11.8",
"bootbox": "6.0.0",
"bootstrap": "5.3.2",
"jquery": "3.7.1",
"ladda": "2.0.3",
"lodash.clonedeep": "4.5.0",
"moment": "2.29.4",
"moment-timezone": "0.5.43",
"ngx-moment": "6.0.2",
"ngx-toastr": "17.0.2",
"rxjs": "7.8.1",
"simplebar": "6.2.5",
"zone.js": "0.13.0"
},
"devDependencies": {
"@angular-devkit/build-angular": "^16.2.5",
"@angular-eslint/builder": "16.2.0",
"@angular-eslint/eslint-plugin": "16.2.0",
"@angular-eslint/eslint-plugin-template": "16.2.0",
"@angular-eslint/schematics": "16.2.0",
"@angular-eslint/template-parser": "16.2.0",
"@angular/cdk": "^16.2.7",
"@angular/cli": "^16.2.5",
"@angular/compiler-cli": "^16.2.8",
"@types/bootbox": "5.2.5",
"@types/bootstrap": "5.2.7",
"@types/jquery": "3.5.22",
"@types/node": "20.8.3",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"eslint": "^8.49.0",
"typescript": "5.1.6"
}
}
\ No newline at end of file
export class Bootstrapper {
constructor(
private bootstrapFunction: (bootstrapper: Bootstrapper) => void
) { }
/**
* Before bootstrapping the app, we need to determine if Zone has already
* been loaded and if not, load it before bootstrapping the application.
*/
startup(): void {
if (!window['Zone']) {
// we need to load zone.js
//console.group('Zone: has not been loaded. Loading now...');
// This is the minified version of zone
const zoneFile = `assets/js/zone.umd.js`;
const barcodeLibrary = `assets/js/onscan.min.js`;
const filesToLoad = [zoneFile, barcodeLibrary];
const req = window['require'];
if (!(typeof req !== 'undefined')) {
let sequence: Promise<any> = Promise.resolve();
filesToLoad.forEach((file: string) => {
sequence = sequence.then(() => {
return this.loadScript(file);
});
});
sequence.then(
() => {
this.bootstrapFunction(this);
},
(error: any) => {
console.error('Error occurred loading necessary files', error);
console.groupEnd();
}
);
}
} else {
// zone already exists
this.bootstrapFunction(this);
}
}
/**
* Loads a script and adds it to the head.
* @param fileName
* @returns a Promise that will resolve with the file name
*/
loadScript(fileName: string): Promise<any> {
return new Promise(resolve => {
const script = document.createElement('script');
script.src = fileName;
script.type = 'text/javascript';
script.onload = () => {
resolve(fileName);
};
document.getElementsByTagName('head')[0].appendChild(script);
});
}
}
\ No newline at end of file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<meta name="description" content="Careaxes" />
<meta name="author" content="Careaxes" />
<title>Careaxes</title>
<base href="/" />
<link
rel="shortcut icon"
type="image/x-icon"
href="assets/images/favicon.png"
/>
<link rel="stylesheet" type="text/css" href="assets/fonts/style.css" />
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" href="assets/css/toastr.css" />
<link rel="stylesheet" type="text/css" href="assets/css/app.css" />
<link rel="stylesheet" type="text/css" href="assets/css/custom.css" />
</head>
<body
data-layout-mode="two-column"
data-sidebar-size="condensed"
data-sidebar-color="light"
data-layout-width="fluid"
data-layout-menu-position="fixed"
data-sidebar-showuser="false"
data-topbar-color="light"
>
<app-root></app-root>
</body>
</html>
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./wwwroot",
},
"files": [
"src/main.ts"
],
"include": [
"src/**/*.d.ts",
"**/*.d.ts"
]
}
\ No newline at end of file
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./wwwroot",
"forceConsistentCasingInFileNames": true,
"strict": false,
"noImplicitOverride": true,
"noImplicitReturns": false,
"noFallthroughCasesInSwitch": true,
"noImplicitAny": false,
"pretty": false,
"removeComments": true,
"sourceMap": true,
"strictNullChecks": false,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"importHelpers": true,
"target": "ES2022",
"module": "ES2022",
"useDefineForClassFields": false,
"allowSyntheticDefaultImports": true,
"noPropertyAccessFromIndexSignature": false,
"lib": [
"ES2022",
"dom"
],
"paths": {
"@src/*": [
"src/*"
],
"@app/*": [
"src/app/*"
],
"@environments/*": [
"src/environments/*"
],
"@account/*": [
"src/app/areas/account/*"
],
"@admin/*": [
"src/app/areas/admin/*"
],
"@support/*": [
"src/app/areas/support/*"
],
"@error/*": [
"src/app/areas/error/*"
],
"@shared/*": [
"src/app/shared/*"
],
"@accountant/*": [
"src/app/areas/accountant/*"
]
}
},
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,
"strictInputAccessModifiers": true,
"strictTemplates": true
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment