Esempio n. 1
0
        public Operacion Crear(OperacionDTO dataOp)
        {
            Operacion nuevaOperacion = new Operacion(dataOp);

            var estadoOperacionPendiente = estadoService.EstadoOperacionPorCodigo(EstadoOperacion.PENDIENTE);
            var vehiculo = vehiculoService.ObtenerPorId(dataOp.IdVehiculo);

            nuevaOperacion.IdEstadoOperacion = estadoOperacionPendiente.IdEstadoOperacion;
            nuevaOperacion.IdVehiculo        = vehiculo.IdVehiculo;
            nuevaOperacion.MontoAcordado     = vehiculoUtils.CalcularPrecioPorHora(
                vehiculo,
                dataOp.FechaHoraDesde.GetValueOrDefault(),
                dataOp.FechaHoraHasta.GetValueOrDefault()
                );

            higoContext.Operacion.Add(nuevaOperacion);
            higoContext.SaveChanges();

            Operacion opRes = ObtenerPorId(nuevaOperacion.IdOperacion);

            notificacionService.Crear(opRes.IdVehiculoNavigation.IdPrestador.GetValueOrDefault(), opRes);

            return(opRes);
        }