Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateCuisine([FromBody] MainMenuDto value)
        {
            var response = new SingleModelResponse <MainMenuDto>() as ISingleModelResponse <MainMenuDto>;

            try
            {
                var entity = await _mainMenuRepository
                             .UpdateAsync(value.ToEntity());

                if (entity != null)
                {
                    response.Model   = entity.ToViewModel();
                    response.Message = "The record was updated successfully";
                }
                else
                {
                    response.Model   = null;
                    response.Message = "The record was not updated";
                }
            }
            catch (Exception ex)
            {
                response.IsError      = true;
                response.ErrorMessage = ex.ToString();
            }
            return(response.ToHttpResponse());
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CreateCuisine([FromBody] MainMenuDto model)
        {
            var response = new SingleModelResponse <MainMenuDto>() as ISingleModelResponse <MainMenuDto>;

            //*** check for model is valid or not if invalid returning bad request response
            if (model == null)
            {
                response.IsError      = true;
                response.ErrorMessage = "Invalid request";
                return(new ObjectResult(response)
                {
                    StatusCode = (Int32)HttpStatusCode.BadRequest
                });
            }

            // Check for duplicate Canonical text for the same name.
            var isDuplicate = await _mainMenuRepository.IsExistsAsync(x => x.Name.Equals(model.Name));

            if (isDuplicate)
            {
                // It's a duplicate.  Return an HTTP 409 Conflict error to let the client know.
                var original = await _mainMenuRepository
                               .GetAsync(new MainMenu { Id = model.Id });

                response.IsError      = true;
                response.ErrorMessage = "Record already exits in the system";
                response.Model        = original.ToViewModel();

                return(new ObjectResult(response)
                {
                    StatusCode = (Int32)HttpStatusCode.Conflict
                });
            }

            try
            {
                model.Guid = Guid.NewGuid();
                var entity = await _mainMenuRepository
                             .InsertAsync(model.ToEntity());

                response.Model   = entity.ToViewModel();
                response.Message = "The data was saved successfully";
            }
            catch (Exception ex)
            {
                response.IsError      = true;
                response.ErrorMessage = ex.ToString();
            }

            return(CreatedAtRoute("GetCuisines", new { id = response.Model.Id }, response.Model));
        }