public void modificarPicoPlaca(PicoPlacaDto picoPlacaDto)
        {
            var picoPlaca = _mapper.Map <PicoPlaca>(picoPlacaDto);

            _context.PicoPlaca.Update(picoPlaca);
            _context.SaveChanges();
        }
        public void crearPicoPlaca(PicoPlacaDto picoPlacaDto)
        {
            var picoPlaca = _mapper.Map <PicoPlaca>(picoPlacaDto);

            _context.PicoPlaca.Add(picoPlaca);
            _context.SaveChanges();
        }
        public void eliminarPicoPlaca(PicoPlacaDto picoPlacaDto)
        {
            var picoPlaca = _mapper.Map <PicoPlaca>(picoPlacaDto);

            _context.PicoPlaca.Remove(picoPlaca);
            _context.SaveChanges();
        }
        public void ValidarPicoPlaca(string tipoVehiculo, string placa)
        {
            PicoPlacaDto picoPlacaDto = _picoPlacaService.TienePicoPlaca(HomologarDiaEspanol(DateTime.Now.DayOfWeek.ToString()), tipoVehiculo);

            string[] valoresPicoPlaca = picoPlacaDto.ValorPlaca.Split(",");
            bool     tienePicoPlaca   = Array.Exists(valoresPicoPlaca, elemento => elemento == placa.Substring(5, 1));

            if (tienePicoPlaca)
            {
                throw new PicoPlacaException(VEHIVULO_EN_PICO_PLACA);
            }
        }
 public void eliminarPicoPlaca(PicoPlacaDto picoPlacaDto)
 {
     _repositoryPicoPlaca.eliminarPicoPlaca(picoPlacaDto);
 }
 public void modificarPicoPlaca(PicoPlacaDto picoPlacaDto)
 {
     _repositoryPicoPlaca.modificarPicoPlaca(picoPlacaDto);
 }
 public void crearPicoPlaca(PicoPlacaDto picoPlacaDto)
 {
     _repositoryPicoPlaca.crearPicoPlaca(picoPlacaDto);
 }
Ejemplo n.º 8
0
 public void eliminarPicoPlaca([FromBody] PicoPlacaDto picoPlacaDto)
 {
     picoPlacaService.eliminarPicoPlaca(picoPlacaDto);
 }
Ejemplo n.º 9
0
 public void modificarPicoPlaca([FromBody] PicoPlacaDto picoPlacaDto)
 {
     picoPlacaService.modificarPicoPlaca(picoPlacaDto);
 }
Ejemplo n.º 10
0
 public void crearPicoPlaca([FromBody] PicoPlacaDto picoPlacaDto)
 {
     picoPlacaService.crearPicoPlaca(picoPlacaDto);
 }
Ejemplo n.º 11
0
        public IHttpActionResult Validate(PicoPlacaDto picoPlaca)
        {
            PicoPlataValidateDto validate = new PicoPlataValidateDto()
            {
                Message = "Placa vehicular se encuentra en un horario permitido"
            };

            if (!ModelState.IsValid)
            {
                var errors = string.Join(Environment.NewLine, ModelState.Values
                                         .SelectMany(x => x.Errors)
                                         .Select(x => string.Concat("- ", x.ErrorMessage)));

                return(BadRequest(errors));
            }

            try
            {
                var authorized = false;
                var timeRange1 = new Tuple <int, int>(700, 930);
                var timeRange2 = new Tuple <int, int>(1600, 1930);
                authorized = (picoPlaca.Date.DayOfWeek == DayOfWeek.Saturday || picoPlaca.Date.DayOfWeek == DayOfWeek.Sunday);

                if (!authorized)
                {
                    var lastDigit     = -1;
                    var isNumeric     = false;
                    var lastCharacter = picoPlaca.Plate.Substring(picoPlaca.Plate.Length - 1);

                    isNumeric = int.TryParse(lastCharacter, out lastDigit);

                    if (isNumeric)
                    {
                        int from = 1, to = 10;
                        var dateDayOfWeek = (int)picoPlaca.Date.DayOfWeek;

                        to   = (dateDayOfWeek + 1);
                        from = (dateDayOfWeek + (dateDayOfWeek - 1));

                        if (lastDigit == 0)
                        {
                            lastDigit = 10;
                        }

                        authorized = (!Enumerable.Range(from, (to - from)).Contains(lastDigit));

                        if (!authorized)
                        {
                            authorized = (!(Enumerable.Range(timeRange1.Item1, (timeRange1.Item2 - timeRange1.Item1))
                                            .Contains(picoPlaca.Time) || Enumerable.Range(timeRange2.Item1,
                                                                                          (timeRange2.Item2 - timeRange2.Item1))
                                            .Contains(picoPlaca.Time)));

                            if (!authorized)
                            {
                                validate = new PicoPlataValidateDto()
                                {
                                    Valid   = false,
                                    Message = "Placa vehicular se encuentra en un horario restringido"
                                }
                            }
                            ;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return(Ok(validate));
        }