Exemplo n.º 1
0
        /// <summary>
        /// Register a new Output
        /// </summary>
        /// <param name="VehiclePlate"></param>
        /// <returns></returns>
        public RegisterOutPutResponseDto RegisterOutPut(string VehiclePlate)
        {
            RegisterOutPutResponseDto oResponse = new RegisterOutPutResponseDto();
            AVehicleBase aVehicle;

            if (ValidateInputNotOpen(VehiclePlate))
            {
                VehicleEntity oVehicle = GetVehicle(VehiclePlate);

                if (oVehicle != null)
                {
                    aVehicle = GetVehicleBase(oVehicle, (VehicleType)Enum.ToObject(typeof(VehicleType), oVehicle.VehicleType));
                }
                else
                {
                    oVehicle = new VehicleEntity
                    {
                        VehicleType = (int)VehicleType.NotResident
                    };

                    aVehicle = GetVehicleBase(oVehicle, VehicleType.NotResident);
                }

                if (aVehicle != null)
                {
                    ControlInputsOutputsEntity oControlInputsOutputs = unitOfWork
                                                                       .ControlInputsOutputsRepository
                                                                       .FirstOrDefault(g => g.VehiclePlate.ToUpper().Equals(VehiclePlate));

                    Decimal oAmountToBePaid = aVehicle.RegisterOutPut(oControlInputsOutputs);

                    if (unitOfWork.Save() > 0)
                    {
                        oResponse.Inserted       = true;
                        oResponse.Message        = GeneralMessages.ItemInserted;
                        oResponse.AmountToBePaid = oAmountToBePaid;
                    }
                }
                else
                {
                    throw new BusinessExeption(string.Format(GeneralMessages.VehicleAndTypeVehicleNotFound, VehiclePlate, oVehicle.VehicleType));
                }
            }
            else
            {
                oResponse.Message = string.Format(GeneralMessages.OpenCloseEntrance, TypeMovement.OutPut, VehiclePlate.ToUpper(), ExistMovement.No);
            }

            return(oResponse);
        }
Exemplo n.º 2
0
        public IActionResult RegisterOutPut(string VehiclePlate)
        {
            IActionResult             oResponse;
            ResponseModel <object>    oResponseModel;
            RegisterOutPutResponseDto oResult = vehicleService.RegisterOutPut(VehiclePlate);

            oResponseModel = new ResponseModel <object>()
            {
                IsSuccess = oResult.Inserted,
                Messages  = oResult.Inserted ? string.Format(GeneralMessages.ValueToPayForTheStay, oResult.AmountToBePaid) : oResult.Message,
                Result    = null
            };

            oResponse = Ok(oResponseModel);

            return(oResponse);
        }