Example #1
0
        public IHttpActionResult UpdateDimension([FromUri] UpdateDimensionRequest uri, [FromBody] UpdateDimensionRequest body)
        {
            try
            {
                // Verify at least object arrives with data
                if (uri == null || body == null)
                {
                    throw new NotEnoughAttributesException("No se ha recibido ningún parámetro");
                }

                if (body.idProduct == -1)
                {
                    throw new NotEnoughAttributesException("Producto no recibido");
                }

                // Business layer
                DimensionsService core = new DimensionsService();

                // Business layer
                ActionResponse action = core.UpdateDimensionAction(
                    uri.idDimension,
                    body
                    );

                if (action.code == (int)CodeStatusEnum.OK)
                {
                    return(ResponseOk(action.data));
                }
                else
                {
                    return(ResponseError(action.code, action.message));
                }
            }
            catch (NotValidDataException e)
            {
                logger.Error(e.Message);
                return(ResponseError((int)CodeStatusEnum.BAD_REQUEST, e.Message));
            }
            catch (NotEnoughAttributesException e)
            {
                logger.Error(e.Message);
                return(ResponseError((int)CodeStatusEnum.BAD_REQUEST, e.Message));
            }
            catch (Exception ex)
            {
                logger.Fatal(ex.Message);
                return(ResponseError((int)CodeStatusEnum.INTERNAL_ERROR, "Error desconocido en el sistema: " + ex.Message));
            }
        }