public IHttpActionResult Put(int id, [FromBody] StoreUpdateModel store) { IHttpActionResult badRequest; if (!this.IsModelValid(ModelState, store, out badRequest)) { return(badRequest); } try { var storeEntity = Database <Store> .Read(id); if (storeEntity == null) { return(NotFound()); } Mapper.Map(store, storeEntity); Database <Store> .Update(storeEntity); return(Ok()); } catch (DataNotFoundException) { return(NotFound()); } }
public IHttpActionResult Put(Guid id, [FromBody] StoreUpdateModel storeModel) { try { if (!ModelState.IsValid) { return(BadRequest()); } var updatedStore = Mapper.Map <Store>(storeModel); updatedStore.Id = id; _storeRepository.Update(updatedStore); return(Ok()); } catch (InvalidOperationException) { return(NotFound()); } }
public virtual async Task <JsonResult> Update([FromServices] IAddressService addrSrv, int id) { var chk = await _storeSrv.CheckOwner(id, User.GetUserId()); if (!chk) { return(Json(new { IsSuccessful = false, Message = Strings.AccessDenied })); } var store = await _storeSrv.FindAsync(id); if (!store.IsSuccessful) { return(Json(new { IsSuccessful = false, Message = Strings.RecordNotFound })); } var model = new StoreUpdateModel().CopyFrom(store.Result); if (store.Result.AddressId != null) { var addr = await addrSrv.FindAsync(store.Result.AddressId ?? 0); if (addr.IsSuccessful) { model.Address.Latitude = addr.Result.Latitude; model.Address.Longitude = addr.Result.Longitude; model.Address.AddressDetails = addr.Result.AddressDetails; } } model.ShopiaUrl = $"{_configuration["CustomSettings:ReactBaseUrl"]}/store/{id}"; return(Json(new Modal { Title = $"{Strings.Update} {DomainString.Store}", AutoSubmitBtnText = Strings.Edit, Body = ControllerExtension.RenderViewToString(this, "Partials/_Entity", store.Result), AutoSubmit = false })); }
public virtual async Task <JsonResult> Update([FromServices] IWebHostEnvironment env, StoreUpdateModel model) { var chk = await _storeSrv.CheckOwner(model.StoreId, User.GetUserId()); if (!chk) { return(Json(new { IsSuccessful = false, Message = Strings.AccessDenied })); } if (!ModelState.IsValid) { return(Json(new { IsSuccessful = false, Message = ModelState.GetModelError() })); } model.Root = env.WebRootPath; model.BaseDomain = _configuration["CustomSettings:BaseUrl"]; return(Json(await _storeSrv.UpdateAsync(model))); }
public async Task <IResponse <Store> > UpdateAsync(StoreUpdateModel model) { var store = await _appUow.StoreRepo.FindAsync(model.StoreId); if (store == null) { return new Response <Store> { Message = ServiceMessage.RecordNotExist } } ; if (store.AddressId != null) { var addr = await _appUow.AddressRepo.FindAsync(store.AddressId); if (addr == null) { await _appUow.AddressRepo.AddAsync(new Address { UserId = store.UserId, Latitude = model.Address.Latitude, Longitude = model.Address.Longitude, AddressDetails = model.Address.AddressDetails }); var addAddress = await _appUow.ElkSaveChangesAsync(); if (addAddress.IsSuccessful) { store.AddressId = addr.AddressId; } else { return new Response <Store> { Message = addAddress.Message } }; } else { addr.Latitude = model.Address.Latitude; addr.Longitude = model.Address.Longitude; addr.AddressDetails = model.Address.AddressDetails; _appUow.AddressRepo.Update(addr); } } store.FullName = model.FullName; store.Username = model.Username; if (model.Logo != null) { var dir = $"/Files/{model.StoreId}"; if (!FileOperation.CreateDirectory(model.Root + dir)) { return new Response <Store> { Message = ServiceMessage.SaveFileFailed } } ; var relativePath = $"{dir}/logo_{Guid.NewGuid().ToString().Replace("-", "_")}{Path.GetExtension(model.Logo.FileName)}"; using (var stream = File.Create($"{model.Root}{relativePath.Replace("/", "\\")}")) await model.Logo.CopyToAsync(stream); store.ProfilePictureUrl = $"{model.BaseDomain}{relativePath}"; } _storeRepo.Update(store); var saveResult = await _appUow.ElkSaveChangesAsync(); return(new Response <Store> { Result = store, IsSuccessful = saveResult.IsSuccessful, Message = saveResult.Message }); }