public ActionResult RegisterEasy(FreeClientRegistrationViewModel model) { try { if (!ModelState.IsValid) { var firstError = ModelState.Values.Where(x => x.Errors.Any()).FirstOrDefault(); ValidationUtils.IsNull(firstError, firstError.Errors.FirstOrDefault().ErrorMessage); } var currentDateTime = DateTimeUtils.GetCurrentDateTime(); using (IUnitOfWork uow = unitOfWorkFactory.Create(IsolationLevel.Serializable)) { var rate = rateRepository.GetById(5 /* тариф «Тестовый период»*/); ValidationUtils.NotNull(rate, "Тариф не найден."); var client = new Client(currentDateTime); client.AdminEmail = model.AdminEmail; client.DBServerName = AppSettings.ClientDBServerName; client.Phone = model.Phone; client.PromoCode = model.PromoCode; clientRepository.Save(client); client.DBName = "bizpulse_" + client.Number.ToString(); var admin = new ClientUser(model.AdminLastName, model.AdminFirstName, model.AdminLogin, CryptographyUtils.ComputeHash(model.AdminPassword), true, currentDateTime); client.AddUser(admin); // добавление первого набора услуг и первой услуги в набор client.CreateInitialStandardServiceSet(client, rate, currentDateTime); uow.Commit(); // создание БД клиента CreateClientDatabase(client, currentDateTime); // отправка письма о регистрации SendRegistrationLetter(client, admin, model.AdminPassword); return(Content(client.Id.ToString())); } } catch (Exception ex) { return(Content(ProcessException(ex))); } }
public void ValidationUtils_IsNull_WithNotNullInt_ThrowsException() { try { ValidationUtils.IsNull((int?)5, "Значение не пусто."); Assert.Fail("Исключение не было выброшено."); } catch (Exception ex) { Assert.AreEqual("Значение не пусто.", ex.Message); } }
public void ValidationUtils_IsNull_WithNullValues_DoesntThrowException() { ValidationUtils.IsNull((bool?)null, "Значение не пусто."); ValidationUtils.IsNull((byte?)null, "Значение не пусто."); ValidationUtils.IsNull((int?)null, "Значение не пусто."); ValidationUtils.IsNull((short?)null, "Значение не пусто."); ValidationUtils.IsNull((decimal?)null, "Значение не пусто."); ValidationUtils.IsNull((double?)null, "Значение не пусто."); ValidationUtils.IsNull((string)null, "Значение не пусто."); ValidationUtils.IsNull((Guid?)null, "Непустой гуид."); ValidationUtils.IsNull((DateTime?)null, "Непустая дата."); ValidationUtils.IsNull((ValidationUtilsTest)null, "Значение не пусто."); }
/// <summary> /// Проверка разрешения на добавление договора по сделке /// </summary> public virtual void CheckPossibilityToAddContract() { ValidationUtils.IsNull(Contract, "Договор по данной сделке уже создан."); ValidationUtils.Assert(Stage.ContainsIn(DealStage.DecisionMakerSearch, DealStage.ClientInvestigation, DealStage.CommercialProposalPreparation, DealStage.Negotiations, DealStage.ContractSigning), String.Format("Невозможно добавить договор в сделку со статусом «{0}».", Stage.GetDisplayName())); }
public ActionResult RegisterPhysicalPerson(PhysicalPersonRegistrationViewModel model) { try { if (!ModelState.IsValid) { var firstError = ModelState.Values.Where(x => x.Errors.Any()).FirstOrDefault(); ValidationUtils.IsNull(firstError, firstError.Errors.FirstOrDefault().ErrorMessage); } var currentDateTime = DateTimeUtils.GetCurrentDateTime(); var registrationAddressCityId = ValidationUtils.TryGetShort(model.RegistrationAddressCityId, "Неверное значение входного параметра."); var postalAddressCityId = ValidationUtils.TryGetShort(model.PostalAddressCityId, "Неверное значение входного параметра."); var rateId = ValidationUtils.TryGetShort(model.RateId, "Неверное значение входного параметра."); var extraUserCount = ValidationUtils.TryGetShort(model.ExtraUserCount); var extraTeamCount = ValidationUtils.TryGetShort(model.ExtraTeamCount); var extraStorageCount = ValidationUtils.TryGetShort(model.ExtraStorageCount); var extraAccountOrganizationCount = ValidationUtils.TryGetShort(model.ExtraAccountOrganizationCount); var extraGigabyteCount = ValidationUtils.TryGetShort(model.ExtraGigabyteCount); using (IUnitOfWork uow = unitOfWorkFactory.Create(IsolationLevel.Serializable)) { var registrationAddressCity = cityRepository.GetById(registrationAddressCityId); ValidationUtils.NotNull(registrationAddressCity, "Город не найден."); var registrationAddress = new Address(registrationAddressCity, model.RegistrationAddressPostalIndex, model.RegistrationAddressLocalAddress); var rate = rateRepository.GetById(rateId); ValidationUtils.NotNull(rate, "Тариф не найден."); Address postalAddress = null; if (model.PostalAddressEqualsRegistration) { postalAddress = new Address(registrationAddress.City, registrationAddress.PostalIndex, registrationAddress.LocalAddress); } else { var postalAddressCity = cityRepository.GetById(postalAddressCityId); ValidationUtils.NotNull(postalAddressCityId, "Город не найден."); postalAddress = new Address(postalAddressCity, model.PostalAddressPostalIndex, model.PostalAddressLocalAddress); } var client = new PhysicalPerson(model.LastName, model.FirstName, model.Patronymic, model.INNIP, registrationAddress, postalAddress, currentDateTime); client.AdminEmail = model.AdminEmail; client.DBServerName = AppSettings.ClientDBServerName; client.OGRNIP = model.OGRNIP; client.Phone = model.Phone; client.PromoCode = model.PromoCode; clientRepository.Save(client); client.DBName = "bizpulse_" + client.Number.ToString(); var admin = new ClientUser(model.AdminLastName, model.AdminFirstName, model.AdminLogin, CryptographyUtils.ComputeHash(model.AdminPassword), true, currentDateTime); admin.Patronymic = model.AdminPatronymic; client.AddUser(admin); // добавление первого набора услуг и первой услуги в набор client.CreateInitialServiceSet(client, rate, extraUserCount, extraTeamCount, extraStorageCount, extraAccountOrganizationCount, extraGigabyteCount, currentDateTime); uow.Commit(); // создание БД клиента CreateClientDatabase(client, currentDateTime); // отправка письма о регистрации SendRegistrationLetter(client, admin, model.AdminPassword); return(Content(client.Id.ToString())); } } catch (Exception ex) { return(Content(ProcessException(ex))); } }
public virtual void CheckPossibilityToDeleteBatch(ProductionOrderBatch batch) { ValidationUtils.Assert(!IsIncludingOneBatch, "Невозможно удалить последнюю партию в заказе."); ValidationUtils.IsNull(batch.ReceiptWaybill, "Невозможно удалить партию, по которой создана приходная накладная."); }