public async Task <ResponseModel> UpdateShopAsync(Guid id, ShopManageModel shopManageModel) { var shop = await GetAll().FirstOrDefaultAsync(x => x.Id == id); if (shop == null) { return(new ResponseModel() { StatusCode = System.Net.HttpStatusCode.NotFound, Message = MessageConstants.NOT_FOUND }); } else { var existedShop = await _shopResponsitory.FetchFirstAsync(x => x.Name == shopManageModel.Name && x.Id != id); if (existedShop != null) { return(new ResponseModel() { StatusCode = System.Net.HttpStatusCode.BadRequest, Message = MessageConstants.EXISTED_CREATED }); } else { shopManageModel.SetDataToModel(shop); await _userInShopRepository.DeleteAsync(shop.UserInShops); //update UserInShop var userInShops = new List <UserInShop>(); foreach (var userId in shopManageModel.UserIds) { var userInShop = new UserInShop(); userInShop.ShopId = shop.Id; userInShop.UserId = userId; userInShops.Add(userInShop); } await _userInShopRepository.InsertAsync(userInShops); //updateshop await _shopResponsitory.UpdateAsync(shop); return(new ResponseModel() { StatusCode = System.Net.HttpStatusCode.OK, Data = new ShopViewModel(shop), Message = MessageConstants.UPDATED_SUCCESSFULLY }); } } }
public async Task <IActionResult> Update(Guid id, [FromBody] ShopManageModel shopManageModel) { var responseModel = await _shopService.UpdateShopAsync(id, shopManageModel); if (responseModel.StatusCode == System.Net.HttpStatusCode.OK) { return(Ok(responseModel)); } else { return(BadRequest(new { Message = responseModel.Message })); } }
public async Task <ResponseModel> CreateShopAsync(ShopManageModel shopManagerModel) { var shop = await _shopResponsitory.FetchFirstAsync(x => x.Name == shopManagerModel.Name); if (shop != null) { return(new ResponseModel() { StatusCode = System.Net.HttpStatusCode.BadRequest, Message = MessageConstants.EXISTED_CREATED }); } else { //create Shop shop = AutoMapper.Mapper.Map <Shop>(shopManagerModel); await _shopResponsitory.InsertAsync(shop); //create UserInShop var userInShops = new List <UserInShop>(); if (shopManagerModel.UserIds != null) { foreach (var userId in shopManagerModel.UserIds) { var userInShop = new UserInShop(); userInShop.ShopId = shop.Id; userInShop.UserId = userId; userInShops.Add(userInShop); } } await _userInShopRepository.InsertAsync(userInShops); shop = await GetAll().FirstOrDefaultAsync(x => x.Id == shop.Id); return(new ResponseModel() { StatusCode = System.Net.HttpStatusCode.OK, Data = new ShopViewModel(shop), Message = MessageConstants.CREATED_SUCCESSFULLY }); } }