private void SetLandmarkProps(Landmark landmark, UpdateLandmarksViewModel model)
 {
     landmark.Code        = model.Code;
     landmark.Number      = model.Number;
     landmark.Name        = model.Name;
     landmark.Description = model.Description;
     landmark.Information = model.Information;
     landmark.Points      = model.Points;
 }
        public ActionResult Update(int number)
        {
            Landmark landmark = _landmarkService.GetLandmarkByNumber(number);

            if (landmark == null)
            {
                return(HttpNotFound());
            }
            UpdateLandmarksViewModel model = Mapper.Map <Landmark, UpdateLandmarksViewModel>(landmark);

            return(View(model));
        }
        public ActionResult UpdateConfirm(UpdateLandmarksViewModel model)
        {
            var landmark = _landmarkService.GetLandmarkById(model.LandmarkId);

            DeletePictures(landmark.Pictures);
            for (int i = 0; i < Request.Files.Count; i++)
            {
                var file = Request.Files[i];
                if (file.ContentLength == 0)
                {
                    break;
                }
                byte[] imageBytes = null;
                using (var binary = new BinaryReader(file.InputStream))
                {
                    imageBytes = binary.ReadBytes(file.ContentLength);
                    landmark.Pictures.Add(CreatePictures(imageBytes, model.Name + "u" + i));
                }
            }
            SetLandmarkProps(landmark, model);
            Location location = GetLocation(model.Latitude, model.Longitude);
            var      town     = GetTown(model.Town);

            location.Town     = town;
            landmark.Location = location;
//            if (!ModelState.IsValid)
//            {
//                return View(model);
//            }
            _landmarkService.SaveLandmark();
            var notification = new Notification()
            {
                DateTime = DateTime.Now,
                Landmark = landmark,
                Type     = NotificationType.Updated
            };

            _notificationService.Add(notification);
            _notificationService.Save();

            var users = _userService.GetUsers();

            users.ForEach(u => u.Notify(notification));
            _userNotificationService.Save();
            return(RedirectToAction("Index"));
        }