public override CreateVehicleResponseDto InsertPayment(GetAmountResponseDto getAmountResponseDto, decimal PaymentValue)
        {
            VehicleEntity oVehicle = getAmountResponseDto.Vehicle;

            oVehicle.TotalMinutesOfStay     = 0;
            oVehicle.PaymentVehicleEntities = new List <PaymentVehicleEntity>
            {
                new PaymentVehicleEntity()
                {
                    PaymentDate  = DateTime.Now,
                    PaymentValue = PaymentValue,
                    CreationDate = DateTime.Now,
                    CreationUser = UsersParkingLot.System
                }
            };

            unitOfWork.VehicleRepository.Update(oVehicle);
            bool inserted = unitOfWork.Save() > 0;

            CreateVehicleResponseDto oResponse = new CreateVehicleResponseDto
            {
                Inserted = inserted,
                Message  = inserted ? string.Format(GeneralMessages.RegisteredPayment, getAmountResponseDto.Vehicle.VehiclePlate) : GeneralMessages.ItemNoInserted
            };

            return(oResponse);
        }
Beispiel #2
0
        /// <summary>
        /// Create a new vehicle
        /// </summary>
        /// <param name="VehiclePlate"></param>
        /// <param name="VehicleType"></param>
        /// <returns></returns>
        public CreateVehicleResponseDto CreateVehicle(string VehiclePlate, VehicleType VehicleType)
        {
            CreateVehicleResponseDto oResponse = new CreateVehicleResponseDto();

            if (!Enum.IsDefined(typeof(VehicleType), VehicleType))
            {
                throw new BusinessExeption(GeneralMessages.VehicleTypeNotSupported);
            }

            if (ValidateExistVehicle(VehiclePlate))
            {
                throw new BusinessExeption(string.Format(GeneralMessages.ExistVehicle, VehiclePlate.ToUpper()));
            }

            if (ValidateInputNotOpen(VehiclePlate))
            {
                throw new BusinessExeption(GeneralMessages.NoRegisterInputOpen);
            }

            if (VehicleType != VehicleType.NotType && VehicleType != VehicleType.NotResident)
            {
                VehicleDto oVehicleDto = new VehicleDto
                {
                    VehiclePlate = VehiclePlate,
                    VehicleType  = (int)VehicleType,
                };

                VehicleEntity oVehicle = Mapper.Map <VehicleEntity>(oVehicleDto);
                oVehicle.CreationDate = DateTime.Now;
                oVehicle.CreationUser = UsersParkingLot.System;
                oVehicle.CutoffDate   = DateTime.Now;

                unitOfWork.VehicleRepository.Insert(oVehicle);

                if (unitOfWork.Save() > 0)
                {
                    oResponse.Inserted = true;
                    oResponse.Message  = GeneralMessages.ItemInserted;
                }
            }
            else
            {
                oResponse.Message = string.Format(GeneralMessages.VehicleTypeRegistrationNotAllowed, VehicleType.NotType.GetDisplayName(), VehicleType.NotResident.GetDisplayName());
            }


            return(oResponse);
        }
        public IActionResult InsertPayment(InsertPaymentRequestDto insertPaymentRequestDto)
        {
            IActionResult            oResponse;
            ResponseModel <object>   oResponseModel;
            CreateVehicleResponseDto oResult = residentPaymentsService.InsertPayment(insertPaymentRequestDto);

            oResponseModel = new ResponseModel <object>()
            {
                IsSuccess = oResult.Inserted,
                Messages  = oResult.Message,
                Result    = null
            };

            oResponse = Ok(oResponseModel);

            return(oResponse);
        }
Beispiel #4
0
        public IActionResult RegisterInput(string VehiclePlate)
        {
            IActionResult oResponse;
            ResponseModel <CreateVehicleResponseDto> oResponseModel;
            CreateVehicleResponseDto oResult = vehicleService.RegisterInput(VehiclePlate);

            oResponseModel = new ResponseModel <CreateVehicleResponseDto>()
            {
                IsSuccess = oResult.Inserted,
                Messages  = oResult.Message,
                Result    = null
            };

            oResponse = Ok(oResponseModel);

            return(oResponse);
        }
Beispiel #5
0
        /// <summary>
        /// Register a new input
        /// </summary>
        /// <param name="VehiclePlate"></param>
        /// <returns></returns>
        public CreateVehicleResponseDto RegisterInput(string VehiclePlate)
        {
            CreateVehicleResponseDto oResponse = new CreateVehicleResponseDto();

            ControlInputsOutputsEntity oInput = new ControlInputsOutputsEntity
            {
                CreationDate       = DateTime.Now,
                CreationUser       = UsersParkingLot.System,
                VehiclePlate       = VehiclePlate,
                EntryTime          = DateTime.Now,
                TotalMinutesOfStay = 0
            };

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

                if (oVehicle != null)
                {
                    oInput.VehicleType = oVehicle.VehicleType;
                }
                else
                {
                    oInput.VehicleType = (int)VehicleType.NotResident;
                }

                unitOfWork.ControlInputsOutputsRepository.Insert(oInput);

                if (unitOfWork.Save() > 0)
                {
                    oResponse.Inserted = true;
                    oResponse.Message  = GeneralMessages.ItemInserted;
                }
            }
            else
            {
                oResponse.Message = string.Format(GeneralMessages.OpenCloseEntrance, TypeMovement.Input, VehiclePlate.ToUpper(), ExistMovement.Already);
            }

            return(oResponse);
        }