public override List <MIDAS.GBX.BusinessObjects.BusinessValidation> Validate <T>(T entity) { BO.OTPCompanyMapping otpCompanyMapping = (BO.OTPCompanyMapping)(object) entity; var result = otpCompanyMapping.Validate(otpCompanyMapping); return(result); }
public override T Convert <T, U>(U entity) { OTPCompanyMapping otpCompanyMapping = entity as OTPCompanyMapping; if (otpCompanyMapping == null) { return(default(T)); } BO.OTPCompanyMapping otpCompanyMappingBO = new BO.OTPCompanyMapping(); otpCompanyMappingBO.ID = otpCompanyMapping.Id; otpCompanyMappingBO.OTP = otpCompanyMapping.OTP; otpCompanyMappingBO.CompanyId = otpCompanyMapping.CompanyId; otpCompanyMappingBO.ValidUntil = otpCompanyMapping.ValidUntil; otpCompanyMappingBO.UsedByCompanyId = otpCompanyMapping.UsedByCompanyId; otpCompanyMappingBO.UsedAtDate = otpCompanyMapping.UsedAtDate; otpCompanyMappingBO.IsCancelled = otpCompanyMapping.IsCancelled; otpCompanyMappingBO.OTPForDate = otpCompanyMapping.OTPForDate; if (otpCompanyMapping.Company != null) { Company company = otpCompanyMapping.Company; BO.Company boCompany = new BO.Company(); boCompany.ID = company.id; boCompany.Name = company.Name; boCompany.TaxID = company.TaxID == null ? null : company.TaxID; boCompany.Status = (BO.GBEnums.AccountStatus)company.Status; boCompany.CompanyType = (BO.GBEnums.CompanyType)company.CompanyType; if (company.SubscriptionPlanType != null) { boCompany.SubsCriptionType = (BO.GBEnums.SubsCriptionType)company.SubscriptionPlanType; } else { boCompany.SubsCriptionType = null; } boCompany.CompanyStatusTypeID = (BO.GBEnums.CompanyStatusType)company.CompanyStatusTypeID; otpCompanyMappingBO.Company = boCompany; } if (otpCompanyMapping.IsDeleted.HasValue) { otpCompanyMappingBO.IsDeleted = otpCompanyMapping.IsDeleted.Value; } if (otpCompanyMapping.UpdateByUserID.HasValue) { otpCompanyMappingBO.UpdateByUserID = otpCompanyMapping.UpdateByUserID.Value; } return((T)(object)otpCompanyMappingBO); }
public override object AssociatePreferredCompany(string otp, int currentCompanyId) { try { BO.OTPCompanyMapping OTPCompanyMapping = (BO.OTPCompanyMapping)ValidateOTPForCompany(otp); if (OTPCompanyMapping == null) { return(new BO.ErrorObject { ErrorMessage = "Invalid OTP.", errorObject = "", ErrorLevel = ErrorLevel.Error }); } else { BO.GBEnums.CompanyType companyType = OTPCompanyMapping.Company.CompanyType; BO.GBEnums.CompanyType currentCompanyType = _context.Companies.Where(p => p.id == currentCompanyId && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .Select(p1 => (BO.GBEnums.CompanyType)p1.CompanyType) .FirstOrDefault(); using (var dbContextTransaction = _context.Database.BeginTransaction()) { if (companyType == BO.GBEnums.CompanyType.MedicalProvider) { using (PreferredMedicalProviderRepository cmp = new PreferredMedicalProviderRepository(_context)) { cmp.AssociateMedicalProviderWithCompany(OTPCompanyMapping.CompanyId, currentCompanyId); } } else if (companyType == BO.GBEnums.CompanyType.Attorney) { using (PreferredAttorneyProviderRepository cmp = new PreferredAttorneyProviderRepository(_context)) { cmp.AssociatePrefAttorneyProviderWithCompany(OTPCompanyMapping.CompanyId, currentCompanyId); } } else if (companyType == BO.GBEnums.CompanyType.Ancillary) { using (PreferredAncillaryProviderRepository cmp = new PreferredAncillaryProviderRepository(_context)) { cmp.AssociateAncillaryProviderWithCompany(OTPCompanyMapping.CompanyId, currentCompanyId); } } if (currentCompanyType == BO.GBEnums.CompanyType.MedicalProvider) { using (PreferredMedicalProviderRepository cmp = new PreferredMedicalProviderRepository(_context)) { cmp.AssociateMedicalProviderWithCompany(currentCompanyId, OTPCompanyMapping.CompanyId); } } else if (currentCompanyType == BO.GBEnums.CompanyType.Attorney) { using (PreferredAttorneyProviderRepository cmp = new PreferredAttorneyProviderRepository(_context)) { cmp.AssociatePrefAttorneyProviderWithCompany(currentCompanyId, OTPCompanyMapping.CompanyId); } } else if (currentCompanyType == BO.GBEnums.CompanyType.Ancillary) { using (PreferredAncillaryProviderRepository cmp = new PreferredAncillaryProviderRepository(_context)) { cmp.AssociateAncillaryProviderWithCompany(currentCompanyId, OTPCompanyMapping.CompanyId); } } var OTPCompanyMappingDB = _context.OTPCompanyMappings.Include("Company") .Where(p => p.OTP == otp && p.UsedByCompanyId == null && p.ValidUntil >= DateTime.UtcNow && (p.IsCancelled.HasValue == false || (p.IsCancelled.HasValue == true && p.IsCancelled.Value == false)) && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .FirstOrDefault(); if (OTPCompanyMappingDB != null) { OTPCompanyMappingDB.UsedByCompanyId = currentCompanyId; OTPCompanyMappingDB.UsedAtDate = DateTime.UtcNow; OTPCompanyMappingDB.UpdateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID")); OTPCompanyMappingDB.UpdateDate = DateTime.UtcNow; _context.SaveChanges(); dbContextTransaction.Commit(); } var res = Convert <BO.OTPCompanyMapping, OTPCompanyMapping>(OTPCompanyMappingDB); return((object)res); } } } catch (Exception ex) { return(new BO.ErrorObject { ErrorMessage = "Error occured while associating company.", errorObject = "", ErrorLevel = ErrorLevel.Error }); } }