public IHttpActionResult UpdatePriceGasStations([FromBody] UpdatePriicesParameters updatePriicesParameters)
        {
            if (updatePriicesParameters != null && ModelState.IsValid)
            {
                UpdatePricesGasStationDTO updatePricesGasStationDTO = _gasstationsservice.UpdatePriceGasStations(updatePriicesParameters, out ReturnValues returnValues);

                if (!returnValues.Error)
                {
                    return(Ok(new ResponseSuccess
                    {
                        Success = true,
                        Status = Convert.ToInt32(returnValues.Code),
                        Message = returnValues.Message,
                        Data = new
                        {
                            UpdatePrice = updatePricesGasStationDTO
                        }
                    }));
                }

                return(Ok(new ResponseError
                {
                    Success = false,
                    Status = Convert.ToInt32(returnValues.Code),
                    Message = returnValues.Message
                }));
            }

            return(BadRequest(ModelState));
        }
示例#2
0
        public UpdatePricesGasStationDTO UpdatePriceGasStations(UpdatePriicesParameters updatePriicesParameters, out ReturnValues returnValues)
        {
            GasStation                gasstation;
            UpdatePricesGasStation    updatepricesgasstation;
            UpdatePricesGasStationDTO updatePricesGasStationDTO = null;

            returnValues = new ReturnValues();

            int GasstationID = Convert.ToInt32(updatePriicesParameters.GasstationID);

            try
            {
                gasstation = _unitOfWork.GasStationRepository.Get(row => row.ID == GasstationID);
                if (gasstation == null)
                {
                    returnValues.SetReturnValues(true, ErrorCodes.Ok, Utils.GetEnumDescription(ErrorCodes.NotFound));
                    return(updatePricesGasStationDTO);
                }
                ;

                if (updatePriicesParameters.GasolinaComum > 0)
                {
                    if (gasstation.PriceGasolinaComum > 0)
                    {
                        if (updatePriicesParameters.GasolinaComum <= gasstation.PriceGasolinaComum + 1 && updatePriicesParameters.GasolinaComum >= gasstation.PriceGasolinaComum - 1)
                        {
                            gasstation.PriceGasolinaComum = updatePriicesParameters.GasolinaComum;
                        }
                        else
                        {
                            returnValues.SetReturnValues(true, ErrorCodes.Ok, Utils.GetEnumDescription(ErrorCodes.NotFound));
                            return(updatePricesGasStationDTO);
                        }
                    }
                    else
                    {
                        gasstation.PriceGasolinaComum = updatePriicesParameters.GasolinaComum;
                    }
                }
                ;

                if (updatePriicesParameters.GasolinaAditivada > 0)
                {
                    if (gasstation.PriceGasolinaAditivada > 0)
                    {
                        if (updatePriicesParameters.GasolinaAditivada <= gasstation.PriceGasolinaAditivada + 1 && updatePriicesParameters.GasolinaAditivada >= gasstation.PriceGasolinaAditivada - 1)
                        {
                            gasstation.PriceGasolinaAditivada = updatePriicesParameters.GasolinaAditivada;
                        }
                        else
                        {
                            returnValues.SetReturnValues(true, ErrorCodes.Ok, Utils.GetEnumDescription(ErrorCodes.NotFound));
                            return(updatePricesGasStationDTO);
                        }
                    }
                    else
                    {
                        gasstation.PriceGasolinaAditivada = updatePriicesParameters.GasolinaAditivada;
                    }
                }
                ;

                if (updatePriicesParameters.Gas > 0)
                {
                    if (gasstation.PriceGas > 0)
                    {
                        if (updatePriicesParameters.Gas <= gasstation.PriceGas + 1 && updatePriicesParameters.Gas >= gasstation.PriceGas - 1)
                        {
                            gasstation.PriceGas = updatePriicesParameters.Gas;
                        }
                        else
                        {
                            returnValues.SetReturnValues(true, ErrorCodes.Ok, Utils.GetEnumDescription(ErrorCodes.NotFound));
                            return(updatePricesGasStationDTO);
                        }
                    }
                    else
                    {
                        gasstation.PriceGas = updatePriicesParameters.Gas;
                    }
                }
                ;

                if (updatePriicesParameters.Disel > 0)
                {
                    if (gasstation.PriceDisel > 0)
                    {
                        if (updatePriicesParameters.Disel <= gasstation.PriceDisel + 1 && updatePriicesParameters.Disel >= gasstation.PriceDisel - 1)
                        {
                            gasstation.PriceDisel = updatePriicesParameters.Disel;
                        }
                        else
                        {
                            returnValues.SetReturnValues(true, ErrorCodes.Ok, Utils.GetEnumDescription(ErrorCodes.NotFound));
                            return(updatePricesGasStationDTO);
                        }
                    }
                    else
                    {
                        gasstation.PriceDisel = updatePriicesParameters.Disel;
                    }
                }
                ;


                _unitOfWork.GasStationRepository.Update(gasstation);
                _unitOfWork.PersistChanges();

                updatepricesgasstation = new UpdatePricesGasStation()
                {
                    GasStationID           = updatePriicesParameters.GasstationID,
                    RegistrationID         = updatePriicesParameters.RegistrationID,
                    PriceGasolinaComum     = updatePriicesParameters.GasolinaComum > 0 ? updatePriicesParameters.GasolinaComum : 0,
                    PriceGasolinaAditivada = updatePriicesParameters.GasolinaAditivada > 0 ? updatePriicesParameters.GasolinaAditivada : 0,
                    PriceGas   = updatePriicesParameters.Gas > 0 ? updatePriicesParameters.Gas : 0,
                    PriceDisel = updatePriicesParameters.Disel > 0 ? updatePriicesParameters.Disel : 0,
                    CreatedOn  = DateTime.Now,
                };

                _unitOfWork.UpdatePricesGasStationRepository.Insert(updatepricesgasstation);
                _unitOfWork.PersistChanges();

                updatePricesGasStationDTO = new UpdatePricesGasStationDTO
                {
                    ID                     = updatepricesgasstation.ID.ToString(),
                    GasStationID           = updatepricesgasstation.GasStationID,
                    RegistrationID         = updatepricesgasstation.RegistrationID,
                    PriceGasolinaComum     = updatepricesgasstation.PriceGasolinaComum.ToString(),
                    PriceGasolinaAditivada = updatepricesgasstation.PriceGasolinaAditivada.ToString(),
                    PriceDisel             = updatepricesgasstation.PriceDisel.ToString(),
                    PriceGas               = updatepricesgasstation.PriceGas.ToString(),
                    CreatedOn              = updatepricesgasstation.CreatedOn.ToString()
                };

                returnValues.SetReturnValues(false, ErrorCodes.Ok, Utils.GetEnumDescription(ErrorCodes.Ok));
            }
            catch (Exception ex)
            {
                returnValues.SetReturnValues(true, ErrorCodes.InternalError, ex.Message);
            }

            return(updatePricesGasStationDTO);
        }