public async Task GetDistrictsByName_WithExistingName_ShouldReturnDistrictByName() { this.SeedTestData(this.DbContext); DistrictServiceModel expected = this.DbContext.Districts.To <DistrictServiceModel>().First(); DistrictServiceModel actual = await this.DistrictsServiceMock.GetDistrictByName(expected.Name); Assert.True( expected.Name == actual.Name, "DistrictsService GetDistrictByName() not works properly!"); }
public async Task <DistrictServiceModel> GetDistrictByName(string name) { var districtFromDb = await this.districtRepository .All() .FirstOrDefaultAsync(d => d.Name == name); //TODO Map? DistrictServiceModel district = new DistrictServiceModel(); district.Id = districtFromDb.Id; district.Name = districtFromDb.Name; if (district == null) { throw new NullReferenceException(); } return(district); }
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("/")); }