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)); }
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); }