public async Task <ApiResponse <AppVariablesGetDto> > UpdateVariables(AppVariablesUpdateDto dto)
        {
            AppVariablesGetDto resultDto = new AppVariablesGetDto();

            Metadata metadata = new Metadata
            {
                IsValid = true,
                Message = ""
            };

            ApiResponse <AppVariablesGetDto> response = new ApiResponse <AppVariablesGetDto>(resultDto);

            try
            {
                AppVariables variable = await GetById(dto.Id);

                if (variable == null)
                {
                    metadata.IsValid = false;

                    metadata.Message = "Variable No existe!!!";

                    response.Meta = metadata;
                    response.Data = resultDto;

                    return(response);
                }
                if (variable.Code != dto.Code)
                {
                    AppRecipes recipes = await _unitOfWork.AppRecipesRepository.GetRecipesByVariableCode(variable.Code);

                    if (recipes != null)
                    {
                        metadata.IsValid = false;

                        metadata.Message = "Variable existe en la formulacion!!!";

                        response.Meta = metadata;
                        response.Data = resultDto;

                        return(response);
                    }
                }



                variable.Description    = dto.Description;
                variable.Code           = dto.Code;
                variable.TipoVariable   = 1;
                variable.UserUpdate     =
                    variable.UserUpdate = dto.UsuarioConectado;
                variable.UpdatedAt      = DateTime.Now;

                AppVariables appVariablesUpdated = await Update(variable);

                resultDto        = _mapper.Map <AppVariablesGetDto>(appVariablesUpdated);
                metadata.IsValid = true;
                metadata.Message = $"Variable Actualizada Satisfactoriamente!";

                response.Meta = metadata;
                response.Data = resultDto;

                return(response);
            }
            catch (Exception ex)
            {
                metadata.IsValid = false;

                metadata.Message = ex.InnerException.Message;

                response.Meta = metadata;
                response.Data = resultDto;

                return(response);
            }
        }
Пример #2
0
        public async Task <IActionResult> UpdateVariables(AppVariablesUpdateDto dto)
        {
            var response = await _appVariablesService.UpdateVariables(dto);

            return(Ok(response));
        }