Пример #1
0
        private bool DescontarPuntos(InfraccionVehiculo infraccionVehiculo)
        {
            try
            {
                // Si no ha informado conductor, se busca si solo hay uno habitual
                if (string.IsNullOrEmpty(infraccionVehiculo.dniConductor))
                {
                    infraccionVehiculo.dniConductor = ConductorVehiculoService.ObtenerConductorHabitual(infraccionVehiculo.matricula);
                }

                //Si se ha informado conductor o se ha detectado el habitual, se le restan los puntos
                if (!string.IsNullOrEmpty(infraccionVehiculo.dniConductor))
                {
                    //Se obtienen los puntos a restar de la infracción
                    int puntos = InfraccionesService.ObtenerPuntos(infraccionVehiculo.idInfraccion);

                    //Se devuelve true si se restan los puntos con éxito
                    return(ConductoresService.RestarPuntos(infraccionVehiculo.dniConductor, puntos));
                }

                // No se ha podido asignar el conductor
                return(true);
            }
            catch
            {
                return(false);
            }
        }
Пример #2
0
        public IHttpActionResult PostInfraccionVehiculo(InfraccionVehiculo infraccionVehiculo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (DescontarPuntos(infraccionVehiculo))
            {
                db.InfraccionVehiculo.Add(infraccionVehiculo);
                db.SaveChanges();
            }
            else
            {
                return(BadRequest(ModelState));
            }

            return(CreatedAtRoute("DefaultApi", new { id = infraccionVehiculo.id }, infraccionVehiculo));
        }