示例#1
0
        public void Edit(PlaceEditModel model)
        {
            var entity = placeRepository.Get(model.Id);

            entity.Name    = model.Name;
            entity.IsValid = model.IsValid;

            placeRepository.Update(entity);
        }
示例#2
0
 public IHttpActionResult Edit(PlaceEditModel model)
 {
     return(Command <EditPlaceCommand>(
                cmd =>
     {
         cmd.Model = model;
     },
                cmd => Ok(cmd.Model.Id)));
 }
示例#3
0
        private PlaceEditModel RenderEditModel(IdentityPlace identity)
        {
            var editModel = new PlaceEditModel();

            editModel.Id     = (int)identity.Id;
            editModel.Name   = identity.GName;
            editModel.Cover  = identity.Cover;
            editModel.Status = identity.Status;

            return(editModel);
        }
示例#4
0
        private IdentityPlace ExtractEditFormData(PlaceEditModel formData)
        {
            var myIdetity = new IdentityPlace();

            myIdetity.Id     = formData.Id;
            myIdetity.GName  = formData.Name;
            myIdetity.Cover  = formData.Cover;
            myIdetity.Status = formData.Status;

            return(myIdetity);
        }
示例#5
0
        public ActionResult Edit(PlaceEditModel model)
        {
            if (!ModelState.IsValid)
            {
                string messages = string.Join("; ", ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage + x.Exception));
                this.AddNotification(messages, NotificationType.ERROR);
                return(View(model));
            }

            try
            {
                //Upload file
                if (model.Files != null && model.Files[0] != null)
                {
                    //var apiResult = CdnServices.UploadPlaceCoverAsync(model).Result;
                    //if(apiResult != null)
                    //{
                    //    if(apiResult.Code == EnumCommonCode.Success)
                    //    {
                    //        var imagesList = JsonConvert.DeserializeObject<List<string>>(apiResult.Data.ToString());
                    //        if(imagesList != null && imagesList.Count > 0)
                    //        {
                    //            model.Cover = imagesList[0];
                    //        }
                    //    }
                    //}
                }

                //Begin db transaction
                var PlaceInfo = ExtractEditFormData(model);

                var isSuccess = _mainStore.Update(PlaceInfo);

                //Clear cache
                //PlaceServices.ClearPlaceCache();

                if (isSuccess)
                {
                    this.AddNotification(ManagerResource.LB_UPDATE_SUCCESS, NotificationType.SUCCESS);
                }
            }
            catch (Exception ex)
            {
                this.AddNotification(NotifSettings.Error_SystemBusy, NotificationType.ERROR);

                logger.Error("Failed for Edit Place request: " + ex.ToString());

                return(View(model));
            }

            return(RedirectToAction("Edit/" + model.Id));
        }
示例#6
0
        public async Task <Place> UpdateAsync(int id, PlaceEditModel editModel)
        {
            var placeToUpdate = context.Places.Find(id);

            if (placeToUpdate == null)
            {
                return(null);
            }

            await UpdateProperties(placeToUpdate, editModel);

            await context.SaveChangesAsync();

            return(placeToUpdate);
        }
示例#7
0
        public PlaceEditModel GetPlace(int id)
        {
            var place = placeRepository.Get(id);

            var model = new PlaceEditModel
            {
                Id      = place.Id,
                Address = place.Address,
                GId     = place.GId,
                Lat     = place.Lat,
                Lng     = place.Lng,
                Name    = place.Name
            };

            return(model);
        }
示例#8
0
        public async Task <ActionResult <PlaceViewModel> > UpdatePlaceAsync([FromRoute] int id,
                                                                            [FromBody] PlaceEditModel eventViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (!PlaceExists(id))
            {
                return(NotFound());
            }

            var place = await placesRepository.UpdateAsync(id, eventViewModel);

            return(place.ToViewModel());
        }
示例#9
0
        public int GetPlaceId(PlaceEditModel model)
        {
            int id;
            var place = placeRepository.CreateQuery().SingleOrDefault(x => x.GId == model.GId);

            if (place == null)
            {
                Create(model);

                id = model.Id;
            }
            else
            {
                id = place.Id;
            }

            return(id);
        }
示例#10
0
        public PlaceEditModel Get(int id)
        {
            var entity = placeRepository.Get(id);

            //var model = Mapper.Map<PlaceEditModel>(entity);

            var model = new PlaceEditModel
            {
                Id      = entity.Id,
                Name    = entity.Name,
                Address = entity.Address,
                GId     = entity.GId,
                Lat     = entity.Lat,
                Lng     = entity.Lng,
                IsValid = entity.IsValid
            };

            return(model);
        }
示例#11
0
        public void Create(PlaceEditModel model)
        {
            if (model.Lat.Length >= 16)
            {
                model.Lat = model.Lat.Substring(0, 16);
            }

            if (model.Lng.Length >= 16)
            {
                model.Lng = model.Lng.Substring(0, 16);
            }

            var entity = Mapper.Map <Place>(model);

            entity.CreatedByUserId = UserHelper.GetCurrentUserId();
            entity.CreatedDateTime = DateTime.Now;
            entity.IsValid         = true;

            placeRepository.Insert(entity);

            model.Id = entity.Id;
        }
示例#12
0
        public async Task UpdateProperties(Place place, PlaceEditModel editModel)
        {
            if (editModel.Title != null)
            {
                place.Title = editModel.Title;
            }

            if (editModel.Address != null)
            {
                place.Address = editModel.Address;
            }

            if (editModel.Coordinates != null)
            {
                var longitude = editModel.Coordinates.Longitude;
                var latitude  = editModel.Coordinates.Latitude;

                place.Coordinates = new Coordinates
                {
                    Latitude  = double.IsNaN(latitude) ? place.Coordinates.Latitude : latitude,
                    Longitude = double.IsNaN(longitude) ? place.Coordinates.Longitude : longitude
                };
            }
        }
示例#13
0
        public async static Task <Place> AddPlaceToDatabase(IPlacesRepository placesRepository, PlaceEditModel place)
        {
            var placeFromDatabase = await placesRepository.FindAsync(place.Id.Value);

            if (placeFromDatabase == null)
            {
                return(await placesRepository.AddAsync(place));
            }

            return(placeFromDatabase);
        }
 public PlaceNotFoundException(PlaceEditModel place)
 {
     this.Place = place;
 }