Exemplo n.º 1
0
 /// <summary>
 /// Manager method that edits specific district entry which id property value matches input parameters id property value
 /// </summary>
 /// <param name="district">Input parameter that represents object of type District </param>
 /// <returns></returns>
 public DistrictDTO EditDistrict(DistrictDTO district)
 {
     var oldDistrict = uOW.DistrictRepo.All.Where(d => d.Id == district.Id).Include(c => c.Coordinates).FirstOrDefault();
     if (oldDistrict == null)
     {
         return null;
     }
     oldDistrict.Name = district.Name;
     var newCoord = Mapper.Map<List<Coordinate>>(district.Coordinates);
     newCoord.Reverse();
     foreach (var coord in newCoord)
     {
         var editCoord = oldDistrict.Coordinates.Find(c => c.Id == coord.Id);
         if (editCoord == null)
         {
             coord.District = oldDistrict;
             oldDistrict.Coordinates.Add(coord);
         }
         else
         {
             editCoord.Index = coord.Index;
             editCoord.Latitude = coord.Latitude;
             editCoord.Longitude = coord.Longitude;
         }
     }
     uOW.DistrictRepo.Update(oldDistrict);
     uOW.Save();
     var newDistrict = uOW.DistrictRepo.All.Where(d => d.Id == district.Id).FirstOrDefault();
     SortCoordinates(newDistrict);
     return Mapper.Map<DistrictDTO>(newDistrict);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Managaer method that adds new district entry to Db
 /// </summary>
 /// <param name="district">parameter that represents a new object</param>
 public DistrictDTO addDistrict(DistrictDTO district)
 {
     if (uOW.DistrictRepo.All.Where(x => x.Name.Equals(district.Name, StringComparison.InvariantCultureIgnoreCase)).Count() == 0)
     {
         var model = Mapper.Map<District>(district);
         uOW.DistrictRepo.Insert(model);
         uOW.Save();
         var newDistrict = uOW.DistrictRepo.All.Where(d => d.Name == district.Name).Include(c => c.Coordinates).FirstOrDefault();
         return Mapper.Map<DistrictDTO>(newDistrict);
     }
     else { return null; }
 }