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); } }
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); } }