public async Task <AddressDetailsServiceModel> GetAddressDetailsById(int id) { AddressDetailsServiceModel address = (await this.addressesRepository.All() .FirstOrDefaultAsync(a => a.Id == id)) .To <AddressDetailsServiceModel>(); if (address == null) { throw new ArgumentNullException(string.Format(GlobalConstants.NullReferenceAddressId, id)); } return(address); }
public async Task GetAddressById_WithCorrectInputData_ShouldReturnAddressDetails() { this.SeedTestData(this.DbContext); AddressDetailsServiceModel expected = this.DbContext.Addresses.First().To <AddressDetailsServiceModel>(); AddressDetailsServiceModel actual = await this.AddressesServiceMock.GetAddressDetailsById(1); Assert.True( expected.PermanentDistrictId == actual.PermanentDistrictId, "AddressesService GetAddressById() not works properly!"); Assert.True( expected.CurrentDistrictId == actual.CurrentDistrictId, "AddressesService GetAddressById() not works properly!"); Assert.True( expected.Permanent == actual.Permanent, "AddressesService GetAddressById() not works properly!"); Assert.True( expected.Current == actual.Current, "AddressesService GetAddressById() not works properly!"); }
public async Task <IActionResult> Create(CreateParentInputModel input) { if (!this.ModelState.IsValid) { var allParentsRole = new List <string>() { "Майка", "Баща" }; this.ViewData["ParentsRole"] = allParentsRole; var allDistricts = this.districtsService.GetAllDistricts(); this.ViewData["Districts"] = allDistricts.Select(d => new CreateParentDistrictViewModel { Name = d.Name }).ToList(); var allCityNames = new List <string>() { "София", "Друг" }; this.ViewData["CityNames"] = allCityNames; return(this.View(input)); } if (input.AddressCurrentDistrictName == null) { input.AddressCurrentDistrictName = input.AddressPermanentDistrictName; } if (input.AddressCurrent == null) { input.AddressCurrent = input.AddressPermanent; } AddressDetailsServiceModel address = new AddressDetailsServiceModel { Permanent = input.AddressPermanent, Current = input.AddressCurrent, CurrentCity = (CityName)Enum.Parse(typeof(CityName), input.AddressCurrentCity), CurrentDistrict = await this.districtsService.GetDistrictByName(input.AddressCurrentDistrictName), PermanentCity = (CityName)Enum.Parse(typeof(CityName), input.AddressCurrentCity), PermanentDistrict = await this.districtsService.GetDistrictByName(input.AddressPermanentDistrictName), }; DistrictServiceModel workDistrict = await this.districtsService.GetDistrictByName(input.WorkDistrictName); ClaimsPrincipal userIdentity = this.User; ParentServiceModel parent = input.To <ParentServiceModel>(); parent.WorkDistrict = workDistrict; parent.Address = address; var role = await this.parentsService.GetParentsRoleByUser(userIdentity); if ((role == ParentRole.Майка.ToString() || role == ParentRole.Баща.ToString()) && input.ParentRole == role) { return(this.BadRequest(GlobalConstants.UniqueParentRole)); } parent.Role = (ParentRole)Enum.Parse(typeof(ParentRole), input.ParentRole); await this.parentsService.Create(userIdentity, parent); return(this.Redirect("/")); }
public async Task <IActionResult> Edit(int id, EditParentInputModel input) { if (!this.ModelState.IsValid) { var allParentsRole = new List <string>() { "Майка", "Баща" }; this.ViewData["ParentsRole"] = allParentsRole; var allDistricts = this.districtsService.GetAllDistricts(); this.ViewData["Districts"] = allDistricts.Select(d => new CreateParentDistrictViewModel { Name = d.Name }).ToList(); var allCityNames = new List <string>() { "София", "Друг" }; this.ViewData["CityNames"] = allCityNames; return(this.View(input)); } ParentServiceModel parentToEdit = await this.parentsService.GetParentById(id); var addressId = parentToEdit.AddressId; AddressDetailsServiceModel address = await this.addressesService.GetAddressDetailsById(addressId); address.Permanent = input.AddressPermanent; address.Current = input.AddressCurrent; address.CurrentCity = (CityName)Enum.Parse(typeof(CityName), input.AddressCurrentCity); address.CurrentDistrict = await this.districtsService.GetDistrictByName(input.AddressCurrentDistrictName); address.CurrentDistrictId = address.CurrentDistrict.Id; address.PermanentCity = (CityName)Enum.Parse(typeof(CityName), input.AddressCurrentCity); address.PermanentDistrict = await this.districtsService.GetDistrictByName(input.AddressPermanentDistrictName); address.PermanentDistrictId = address.PermanentDistrict.Id; DistrictServiceModel workDistrict = await this.districtsService.GetDistrictByName(input.WorkDistrictName); ClaimsPrincipal userIdentity = this.User; parentToEdit.FirstName = input.FirstName; parentToEdit.MiddleName = input.MiddleName; parentToEdit.LastName = input.LastName; parentToEdit.PhoneNumber = input.PhoneNumber; parentToEdit.WorkName = input.WorkName; parentToEdit.WorkDistrictId = workDistrict.Id; parentToEdit.Address = address; parentToEdit.Role = (ParentRole)Enum.Parse(typeof(ParentRole), input.ParentRole); await this.parentsService.Edit(id, parentToEdit); var candidatesOfParents = this.candidatesService.GetCandidatesOfParent(userIdentity, id).ToList(); foreach (var candidate in candidatesOfParents) { await this.calculatorService.EditBasicScoresByCriteria(candidate.Id); } return(this.Redirect("/")); }