/// <summary> /// To activate or inactivate Speciality /// </summary> /// <param name="speciality"></param> public bool ActiveOrInactiveSpecialities(BusinessModel.BusinessModels.Speciality speciality) { try { DomainModel.DomainModels.Speciality sp = _m3PactContext.Speciality.Where(s => s.SpecialityCode == speciality.SpecialityCode).FirstOrDefault(); if (sp != null) { if (sp.RecordStatus == DomainConstants.RecordStatusActive) { sp.RecordStatus = DomainConstants.RecordStatusInactive; } else if (sp.RecordStatus == DomainConstants.RecordStatusInactive) { sp.RecordStatus = DomainConstants.RecordStatusActive; } _m3PactContext.Update(sp); _m3PactContext.SaveChanges(); return(true); } return(false); } catch (Exception ex) { throw ex; } }
/// <summary> /// To activate or inactivate business unit /// </summary> /// <param name="businessUnit"></param> /// <returns></returns> public bool ActiveOrInactiveBusinessUnit(BusinessModel.BusinessModels.BusinessUnit businessUnit) { try { DomainModel.DomainModels.BusinessUnit business = _m3pactContext.BusinessUnit.FirstOrDefault(bu => bu.BusinessUnitCode == businessUnit.BusinessUnitCode); if (business != null) { if (business.RecordStatus == DomainConstants.RecordStatusActive) { business.RecordStatus = DomainConstants.RecordStatusInactive; } else { business.RecordStatus = DomainConstants.RecordStatusActive; } _m3pactContext.Update(business); _m3pactContext.SaveChanges(); } return(true); } catch (Exception ex) { throw ex; } }
/// <summary> /// To activate or inactivate payer and clientpayer /// </summary> /// <param name="payer"></param> public void ActivateOrDeactivatePayer(BusinessModel.BusinessModels.Payer payer) { try { UserContext userContext = UserHelper.getUserContext(); DomainModel.DomainModels.Payer payerModel = (from p in _m3pactContext.Payer where p.PayerCode == payer.PayerCode select p ).ToList().FirstOrDefault(); if (payerModel != null) { if (payerModel.RecordStatus == DomainConstants.RecordStatusActive) { List <ClientPayer> clientPayers = _m3pactContext.ClientPayer.Where(cp => cp.PayerId == payerModel.PayerId && cp.RecordStatus == DomainConstants.RecordStatusActive)?.ToList(); foreach (ClientPayer cp in clientPayers) { cp.RecordStatus = DomainConstants.RecordStatusInactive; cp.EndDate = DateTime.Now.Date; } payerModel.RecordStatus = DomainConstants.RecordStatusInactive; payerModel.EndDate = DateTime.Now.Date; payerModel.ModifiedDate = DateTime.Now; payerModel.ModifiedBy = userContext.UserId; _m3pactContext.Update(payerModel); _m3pactContext.UpdateRange(clientPayers); } else { payerModel.RecordStatus = DomainConstants.RecordStatusActive; payerModel.EndDate = DateTime.MaxValue.Date; payerModel.ModifiedDate = DateTime.Now; payerModel.ModifiedBy = userContext.UserId; _m3pactContext.Update(payerModel); } _m3pactContext.SaveChanges(); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Activating or InActivating systems /// </summary> /// <param name="system"></param> /// <returns></returns> public bool ActivateOrInactivateSystems(BusinessModel.Admin.System system) { try { DomainModel.DomainModels.System systemDTO = _m3pactContext.System.FirstOrDefault(s => s.SystemCode == system.SystemCode); if (systemDTO != null) { if (systemDTO.RecordStatus == DomainConstants.RecordStatusActive) { systemDTO.RecordStatus = DomainConstants.RecordStatusInactive; List <Client> clients = _m3pactContext.Client.Where(c => c.SystemId == systemDTO.SystemId && c.IsActive == DomainConstants.RecordStatusActive).ToList(); if (clients != null && clients.Count > 0) { foreach (Client c in clients) { c.RecordStatus = DomainConstants.RecordStatusInactive; c.IsActive = DomainConstants.RecordStatusInactive; } _m3pactContext.UpdateRange(clients); } _m3pactContext.Update(systemDTO); } else { systemDTO.RecordStatus = DomainConstants.RecordStatusActive; _m3pactContext.Update(systemDTO); } _m3pactContext.SaveChanges(); } return(true); } catch (Exception ex) { throw ex; } }
/// <summary> /// updates password /// </summary> /// <param name="userDto"></param> /// <returns></returns> public bool UpdatePassword(Business.UserLoginDTO userDto) { Domain.UserLogin user = _m3pactContext.UserLogin.FirstOrDefault(x => x.UserId == userDto.UserId); if (user != null) { user.Password = userDto.Password; user.ForgotPasswordToken = userDto.ForgotPasswordToken; user.LastPasswordChanged = userDto.LastPasswordChanged; user.ModifiedBy = userContext.UserId; user.ModifiedDate = DateTime.UtcNow; _m3pactContext.Update(user); return(_m3pactContext.SaveChanges() > 0); } return(false); }
/// <summary> /// To save the configuration in Database /// </summary> /// <param name="attribute"></param> /// <returns></returns> public bool SaveAttributeValue(AttributesBusinessModel attribute) { try { AdminConfigValues adminConfig = _m3pactContext.AdminConfigValues.Where(a => a.AttributeId == attribute.AttributeId && a.RecordStatus == DomainConstants.RecordStatusActive).FirstOrDefault(); adminConfig.AttributeValue = attribute.AttributeValue; adminConfig.ModifiedBy = userContext.UserId; adminConfig.ModifiedDate = DateTime.Now; _m3pactContext.Update(adminConfig); List <ClientConfig> clientConfigs = _m3pactContext.ClientConfig.Where(cc => cc.AttributeId == attribute.AttributeId && cc.RecordStatus == DomainConstants.RecordStatusActive).ToList(); clientConfigs.ForEach(cc => cc.RecordStatus = DomainConstants.RecordStatusInactive); _m3pactContext.UpdateRange(clientConfigs); if (clientConfigs.Count > 0) { List <int> clients = _m3pactContext.Client.Select(c => c.ClientId).ToList(); List <ClientConfig> newClientConfigs = new List <ClientConfig>(); foreach (int client in clients) { ClientConfig clientConfig = new ClientConfig(); clientConfig.AttributeId = attribute.AttributeId; clientConfig.AttributeValue = attribute.AttributeValue; clientConfig.ClientId = client; clientConfig.RecordStatus = DomainConstants.RecordStatusActive; clientConfig.CreatedBy = userContext.UserId; clientConfig.CreatedDate = DateTime.Now; clientConfig.ModifiedDate = DateTime.Now; clientConfig.ModifiedBy = userContext.UserId; newClientConfigs.Add(clientConfig); } _m3pactContext.AddRange(newClientConfigs); } int attributeId = _m3pactContext.Attribute.Where(a => a.AttributeCode == DomainConstants.LastEnteredBusinessDays).Select(a => a.AttributeId).FirstOrDefault(); if (attributeId == attribute.AttributeId) { UpdateProjectedCashForAllClients(attribute); } _m3pactContext.SaveChanges(); return(true); } catch (Exception ex) { throw ex; } }
/// <summary> /// To activate or inactivate sites /// </summary> /// <param name="site"></param> /// <returns></returns> public bool ActivateOrInactivateSites(BusinessModel.BusinessModels.Site site) { try { DomainModel.DomainModels.Site repoSite = _m3pactContext.Site.Where(s => s.SiteId == site.SiteId).ToList().FirstOrDefault(); if (repoSite != null) { if (repoSite.RecordStatus == DomainConstants.RecordStatusActive) { repoSite.RecordStatus = DomainConstants.RecordStatusInactive; List <Client> clients = _m3pactContext.Client.Where(c => c.SiteId == repoSite.SiteId && c.IsActive == DomainConstants.RecordStatusActive)?.ToList(); if (clients != null && clients.Count > 0) { foreach (Client c in clients) { c.RecordStatus = DomainConstants.RecordStatusInactive; c.IsActive = DomainConstants.RecordStatusInactive; } _m3pactContext.UpdateRange(clients); } } else { repoSite.RecordStatus = DomainConstants.RecordStatusActive; } _m3pactContext.Update(repoSite); _m3pactContext.SaveChanges(); return(true); } else { return(false); } } catch (Exception ex) { throw ex; } }