BAL.Manager.DistrictManager.EditDistrict C# (CSharp) Method

EditDistrict() public method

Manager method that edits specific district entry which id property value matches input parameters id property value
public EditDistrict ( DistrictDTO district ) : DistrictDTO
district DistrictDTO Input parameter that represents object of type District
return DistrictDTO
        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);
        }