コード例 #1
0
        public override object DeletePreferredCompany(int preferredCompanyId, int currentCompanyId)
        {
            try
            {
                BO.GBEnums.CompanyType prferredCompanyType = _context.Companies.Where(p => p.id == preferredCompanyId &&
                                                                                      (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false)))
                                                             .Select(p1 => (BO.GBEnums.CompanyType)p1.CompanyType)
                                                             .FirstOrDefault();

                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 (prferredCompanyType == BO.GBEnums.CompanyType.MedicalProvider)
                    {
                        PreferredMedicalProvider PreferredMedicalProviderDB = null;
                        PreferredMedicalProviderDB = _context.PreferredMedicalProviders.Where(p => p.PrefMedProviderId == preferredCompanyId &&
                                                                                              p.CompanyId == currentCompanyId &&
                                                                                              (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))
                                                                                              ).FirstOrDefault();
                        if (PreferredMedicalProviderDB != null)
                        {
                            PreferredMedicalProviderDB.IsDeleted      = true;
                            PreferredMedicalProviderDB.UpdateDate     = DateTime.UtcNow;
                            PreferredMedicalProviderDB.UpdateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID"));
                            _context.SaveChanges();
                        }
                        else
                        {
                            return(new BO.ErrorObject {
                                ErrorMessage = "This Medical provider is not associated with this company.", errorObject = "", ErrorLevel = ErrorLevel.Error
                            });
                        }
                    }
                    else if (prferredCompanyType == BO.GBEnums.CompanyType.Attorney)
                    {
                        PreferredAttorneyProvider PreferredAttorneyProviderDB = null;
                        PreferredAttorneyProviderDB = _context.PreferredAttorneyProviders.Where(p => p.PrefAttorneyProviderId == preferredCompanyId &&
                                                                                                p.CompanyId == currentCompanyId &&
                                                                                                (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))
                                                                                                ).FirstOrDefault();
                        if (PreferredAttorneyProviderDB != null)
                        {
                            PreferredAttorneyProviderDB.IsDeleted      = true;
                            PreferredAttorneyProviderDB.UpdateDate     = DateTime.UtcNow;
                            PreferredAttorneyProviderDB.UpdateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID"));
                            _context.SaveChanges();
                        }
                        else
                        {
                            return(new BO.ErrorObject {
                                ErrorMessage = "This Attorney provider is not associated with this company.", errorObject = "", ErrorLevel = ErrorLevel.Error
                            });
                        }
                    }
                    else if (prferredCompanyType == BO.GBEnums.CompanyType.Ancillary)
                    {
                        PreferredAncillaryProvider PreferredAncillaryProviderDB = null;
                        PreferredAncillaryProviderDB = _context.PreferredAncillaryProviders.Where(p => p.PrefAncillaryProviderId == preferredCompanyId &&
                                                                                                  p.CompanyId == currentCompanyId &&
                                                                                                  (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))
                                                                                                  ).FirstOrDefault();
                        if (PreferredAncillaryProviderDB != null)
                        {
                            PreferredAncillaryProviderDB.IsDeleted      = true;
                            PreferredAncillaryProviderDB.UpdateDate     = DateTime.UtcNow;
                            PreferredAncillaryProviderDB.UpdateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID"));
                            _context.SaveChanges();
                        }
                        else
                        {
                            return(new BO.ErrorObject {
                                ErrorMessage = "This Ancillary provider is not associated with this company.", errorObject = "", ErrorLevel = ErrorLevel.Error
                            });
                        }
                    }

                    if (currentCompanyType == BO.GBEnums.CompanyType.MedicalProvider)
                    {
                        PreferredMedicalProvider PreferredMedicalProviderDB = null;
                        PreferredMedicalProviderDB = _context.PreferredMedicalProviders.Where(p => p.PrefMedProviderId == currentCompanyId &&
                                                                                              p.CompanyId == preferredCompanyId &&
                                                                                              (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))
                                                                                              ).FirstOrDefault();
                        if (PreferredMedicalProviderDB != null)
                        {
                            PreferredMedicalProviderDB.IsDeleted      = true;
                            PreferredMedicalProviderDB.UpdateDate     = DateTime.UtcNow;
                            PreferredMedicalProviderDB.UpdateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID"));
                            _context.SaveChanges();
                        }
                        else
                        {
                            return(new BO.ErrorObject {
                                ErrorMessage = "This Medical provider is not associated with this company.", errorObject = "", ErrorLevel = ErrorLevel.Error
                            });
                        }
                    }
                    else if (currentCompanyType == BO.GBEnums.CompanyType.Attorney)
                    {
                        PreferredAttorneyProvider PreferredAttorneyProviderDB = null;
                        PreferredAttorneyProviderDB = _context.PreferredAttorneyProviders.Where(p => p.PrefAttorneyProviderId == currentCompanyId &&
                                                                                                p.CompanyId == preferredCompanyId &&
                                                                                                (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))
                                                                                                ).FirstOrDefault();
                        if (PreferredAttorneyProviderDB != null)
                        {
                            PreferredAttorneyProviderDB.IsDeleted      = true;
                            PreferredAttorneyProviderDB.UpdateDate     = DateTime.UtcNow;
                            PreferredAttorneyProviderDB.UpdateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID"));
                            _context.SaveChanges();
                        }
                        else
                        {
                            return(new BO.ErrorObject {
                                ErrorMessage = "This Attorney provider is not associated with this company.", errorObject = "", ErrorLevel = ErrorLevel.Error
                            });
                        }
                    }
                    else if (currentCompanyType == BO.GBEnums.CompanyType.Ancillary)
                    {
                        PreferredAncillaryProvider PreferredAncillaryProviderDB = null;
                        PreferredAncillaryProviderDB = _context.PreferredAncillaryProviders.Where(p => p.PrefAncillaryProviderId == currentCompanyId &&
                                                                                                  p.CompanyId == preferredCompanyId &&
                                                                                                  (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))
                                                                                                  ).FirstOrDefault();
                        if (PreferredAncillaryProviderDB != null)
                        {
                            PreferredAncillaryProviderDB.IsDeleted      = true;
                            PreferredAncillaryProviderDB.UpdateDate     = DateTime.UtcNow;
                            PreferredAncillaryProviderDB.UpdateByUserID = System.Convert.ToInt32(Utility.GetConfigValue("DefaultAdminUserID"));
                            _context.SaveChanges();
                        }
                        else
                        {
                            return(new BO.ErrorObject {
                                ErrorMessage = "This Ancillary provider is not associated with this company.", errorObject = "", ErrorLevel = ErrorLevel.Error
                            });
                        }
                    }

                    dbContextTransaction.Commit();

                    return(true);
                }
            }
            catch (Exception ex)
            {
                return(new BO.ErrorObject {
                    ErrorMessage = "Error occured while associating company.", errorObject = "", ErrorLevel = ErrorLevel.Error
                });
            }
        }
コード例 #2
0
        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
                });
            }
        }