Esempio n. 1
0
        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
                    });
                }
            }
        }
Esempio n. 2
0
        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 }));
            }
        }
Esempio n. 3
0
        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
                });
            }
        }