Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
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
                });
            }
        }