示例#1
0
        public bool AddPackageHistory(AddPackageHistoryDto packageHistoryInfo)
        {
            var franchisee = _franchiseeTenantRepository.FirstOrDefault(
                o => o.Name == packageHistoryInfo.FranchiseeName && o.LicenseKey == packageHistoryInfo.LicenseKey);
            var packageHistory = new PackageHistory();

            using (var scope = new TransactionScope())
            {
                packageHistory.PackageId          = packageHistoryInfo.PackageId;
                packageHistory.OldPackageId       = packageHistoryInfo.OldPackageId;
                packageHistory.StartDate          = packageHistoryInfo.StartDate;
                packageHistory.EndDate            = packageHistoryInfo.EndDate;
                packageHistory.RequestId          = packageHistoryInfo.RequestId;
                packageHistory.FranchiseeTenantId = packageHistoryInfo.FranchiseeTenantId;
                packageHistory.AccountNumber      = packageHistoryInfo.AccountNumber;
                packageHistory.IsApply            = packageHistoryInfo.IsApply;
                Add(packageHistory);

                if (!packageHistoryInfo.IsApply)
                {
                    franchisee.EndActiveDate = packageHistoryInfo.StartDate;
                }
                if (packageHistoryInfo.IsApply)
                {
                    franchisee.CurrentPackageId = packageHistoryInfo.PackageId;
                    franchisee.EndActiveDate    = packageHistoryInfo.EndDate;
                }

                franchisee.RemainingAmount        = packageHistoryInfo.Amount;
                franchisee.NextBillingDate        = packageHistoryInfo.NextBillingDate;
                franchisee.PackageNextBillingDate = packageHistoryInfo.PackageNextBillingDate;
                franchisee.StartDateSuccess       = null;
                franchisee.EndDateSuccess         = null;
                _franchiseeTenantRepository.Update(franchisee);
                _franchiseeTenantRepository.Commit();

                scope.Complete();
                return(true);
            }
        }
示例#2
0
        public byte[] UpdateFranchisee(FranchiseeTenant franchiseeTenant,
                                       FranchiseeConfiguration franchiseeConfiguration)
        {
            using (var scope = new TransactionScope())
            {
                ValidateBusinessRules(franchiseeTenant);
                _franchiseeTenantRepository.Update(franchiseeTenant);
                _franchiseeTenantRepository.Commit();

                // change the connection
                var connectionString = PersistenceHelper.GenerateConnectionString(franchiseeTenant.Server, franchiseeTenant.Database, franchiseeTenant.UserName, franchiseeTenant.Password);
                var database         = franchiseeTenant.Database;

                _franchiseeConfigurationRepository.ChangeConnectionString(connectionString);
                _franchiseeConfigurationRepository.DeleteAllFranchiseeConfigurationBySqlString(database);


                // Create franchisee configuaration
                //Add new Franchisee Configuration
                var franchiseeId             = PasswordHelper.HashString(franchiseeTenant.Id.ToString(), franchiseeTenant.Name);
                var licenseKey               = franchiseeTenant.LicenseKey;
                var franchiseeContact        = franchiseeConfiguration.FranchiseeContact;
                var primaryContactPhone      = franchiseeConfiguration.PrimaryContactPhone;
                var primaryContactEmail      = franchiseeConfiguration.PrimaryContactEmail;
                var primaryContactFax        = franchiseeConfiguration.PrimaryContactFax;
                var primaryContactCellNumber = franchiseeConfiguration.PrimaryContactCellNumber;
                var name        = franchiseeConfiguration.Name;
                var city        = franchiseeConfiguration.City;
                var state       = franchiseeConfiguration.State;
                var zip         = franchiseeConfiguration.Zip;
                var address1    = franchiseeConfiguration.Address1;
                var address2    = franchiseeConfiguration.Address2;
                var officePhone = franchiseeConfiguration.OfficePhone;
                var faxNumber   = franchiseeConfiguration.FaxNumber;
                var logo        = franchiseeConfiguration.Logo;
                var industryId  = franchiseeConfiguration.IndustryId;

                var franchiseeconfig = new FranchiseeConfiguration
                {
                    FranchiseeId             = franchiseeId,
                    LicenseKey               = licenseKey,
                    FranchiseeContact        = franchiseeContact,
                    PrimaryContactPhone      = primaryContactPhone,
                    PrimaryContactEmail      = primaryContactEmail,
                    PrimaryContactFax        = primaryContactFax,
                    PrimaryContactCellNumber = primaryContactCellNumber,
                    Name        = name,
                    City        = city,
                    State       = state,
                    Zip         = zip,
                    Address1    = address1,
                    Address2    = address2,
                    OfficePhone = officePhone,
                    FaxNumber   = faxNumber,
                    Logo        = logo,
                    IndustryId  = industryId
                };
                _franchiseeConfigurationRepository.AddFranchiseeConfigurationBySqlString(franchiseeconfig, database);

                scope.Complete();
                return(franchiseeTenant.LastModified);
            }
        }