public bool EliminarHistorialActivacionManifiesto(long numeroManifiesto) { HistorialActivacionManifiestoDAO DAO = new HistorialActivacionManifiestoDAO(); return(DAO.EliminarHistorialActivacionManifiesto(numeroManifiesto)); }
public async Task <RespuestaProcesoEventoLogistico> GuardarEventoLogistico(EventoLogistico evento) { RespuestaProcesoEventoLogistico respuesta = new RespuestaProcesoEventoLogistico(); if (await ParametrosSistema.isOnline) { DataService.AppDataService ds = new DataService.AppDataService(ParametrosSistema.TokenUsuarioActual); respuesta = await ds.RealizarPeticionApi <RespuestaProcesoEventoLogistico>("Evento/GuardarEventoLogistico", DataService.TipoPeticionApi.Post, evento); evento.ID = respuesta.IdEvento; evento.Sincronizado = true; evento.FechaSincronizacion = DateTime.Now; if (respuesta.ProcesadoCorrectamente == false) { evento.Estado = "E"; evento.ErrorSincronizacion = respuesta.Respuesta; } else { evento.Estado = "S"; } } else { evento.Sincronizado = false; respuesta.ProcesadoCorrectamente = true; respuesta.Respuesta = "Se ha guardado el evento en la memoria interna del teléfono."; } //Se determina si se debe guardar el evento en la base de datos local EventoLogisticoDAO eventoDAO = new EventoLogisticoDAO(); eventoDAO.GuardarEventoLogistico(evento); //Si es un evento de activación se debe registrar el manifiesto en el historial de activaciones if (evento.IdTipoEvento == (int)TipoEventoLogisticoEnum.ActivarViaje) { if (respuesta.ProcesadoCorrectamente == true) { Transporte transporte = new Transporte(); HistorialActivacionManifiesto historial = new HistorialActivacionManifiesto(); historial.Sincronizado = true; historial.FechaSincronizacion = DateTime.Now; historial.Activo = true; historial.FechaActivacion = evento.FechaEvento; historial.UsuarioActivacion = ParametrosSistema.UsuarioActual; TransporteBLL transporteBLL = new TransporteBLL(); transporte = await transporteBLL.SeleccionarTransporte(evento.NumeroManifiesto); //if (await ParametrosSistema.isOnline) //{ // historial.Sincronizado = true; // historial.FechaSincronizacion = DateTime.Now; // TransporteBLL transporteBLL = new TransporteBLL(); // transporte = await transporteBLL.SeleccionarTransporte(evento.NumeroManifiesto); //} //else //{ // historial.Sincronizado = false; // transporte.NumeroDocConductor = Convert.ToInt32(ParametrosSistema.NumeroIdentificacionUsuarioActual); // transporte.NumeroTransporte = evento.NumeroManifiesto; //} //se guarda un registro en historial activación viaje if (transporte != null) { historial.Placa = transporte.Placa; historial.NumeroDocConductor = transporte.NumeroDocConductor.ToString(); historial.NombreRuta = transporte.NombreRuta; historial.NumeroManifiesto = transporte.NumeroTransporte; historial.ClaseTransporte = transporte.ClaseTransporte; } else { historial.NumeroDocConductor = historial.UsuarioActivacion; } HistorialActivacionManifiestoDAO historialActivacionDAO = new HistorialActivacionManifiestoDAO(); //si en la bd local el conductor aun tiene un viaje activo, se elimina HistorialActivacionManifiesto historialAnterior = historialActivacionDAO.SeleccionarHistorialManifiestoActivoPorConductor(evento.NumeroDocumentoConductor); if (historialAnterior != null) { historialActivacionDAO.EliminarHistorialActivacionManifiesto(historialAnterior.NumeroManifiesto); } //se fuarda el registro de activacion viaje historialActivacionDAO.GuardarHistorialActivacionManifiesto(historial); //Se guardan las entregas del transporte if (transporte != null && transporte.Entregas != null && transporte.Entregas.Count > 0) { EntregaBLL entregaBLL = new EntregaBLL(); foreach (Entrega entrega in transporte.Entregas) { entregaBLL.GuardarEntrega(entrega); } } } else if (evento.Sincronizado == true && evento.Estado == "E") { //Si el evento se sincronizó pero devolvió error, se elimina el manifiesto del historial de activacion HistorialActivacionManifiestoDAO historialActivacionDAO = new HistorialActivacionManifiestoDAO(); historialActivacionDAO.EliminarHistorialActivacionManifiesto(evento.NumeroManifiesto); } } else if (evento.IdTipoEvento == (int)TipoEventoLogisticoEnum.SuspenderViaje) { HistorialActivacionManifiestoBLL historialBLL = new HistorialActivacionManifiestoBLL(); historialBLL.EliminarHistorialActivacionManifiesto(evento.NumeroManifiesto); } else if (evento.IdTipoEvento == (int)TipoEventoLogisticoEnum.ReanudarViaje) { Transporte transporte = new Transporte(); HistorialActivacionManifiesto historial = new HistorialActivacionManifiesto(); historial.Sincronizado = true; historial.FechaSincronizacion = DateTime.Now; historial.Activo = true; historial.FechaActivacion = evento.FechaEvento; historial.UsuarioActivacion = ParametrosSistema.UsuarioActual; TransporteBLL transporteBLL = new TransporteBLL(); transporte = await transporteBLL.SeleccionarTransporte(evento.NumeroManifiesto); if (transporte != null) { historial.Placa = transporte.Placa; historial.NumeroDocConductor = transporte.NumeroDocConductor.ToString(); historial.NombreRuta = transporte.NombreRuta; historial.NumeroManifiesto = transporte.NumeroTransporte; historial.ClaseTransporte = transporte.ClaseTransporte; } else { historial.NumeroDocConductor = historial.UsuarioActivacion; } HistorialActivacionManifiestoDAO historialActivacionDAO = new HistorialActivacionManifiestoDAO(); //si en la bd local el conductor aun tiene un viaje activo, se elimina HistorialActivacionManifiesto historialAnterior = historialActivacionDAO.SeleccionarHistorialManifiestoActivoPorConductor(evento.NumeroDocumentoConductor); if (historialAnterior != null) { historialActivacionDAO.EliminarHistorialActivacionManifiesto(historialAnterior.NumeroManifiesto); } //se guarda el registro de reanudación viaje historialActivacionDAO.GuardarHistorialActivacionManifiesto(historial); } else if (evento.IdTipoEvento == (int)TipoEventoLogisticoEnum.FinViaje) { HistorialActivacionManifiestoDAO historialActivacionDAO = new HistorialActivacionManifiestoDAO(); var historialActivacion = historialActivacionDAO.SeleccionarHistorialActivacionManifiesto(evento.NumeroManifiesto); if (historialActivacion != null) { if (evento.Sincronizado == false || respuesta.ProcesadoCorrectamente == true) { //Se debe marcar como finalizado el viaje historialActivacion.Activo = false; historialActivacion.FechaInactivacion = evento.FechaEvento; historialActivacion.UsuarioInactivacion = evento.NumeroDocumentoConductor; historialActivacionDAO.GuardarHistorialActivacionManifiesto(historialActivacion); } else if (evento.Sincronizado == true && evento.Estado == "E") { //Si el evento se sincronizó pero devolvió error, se elimina el manifiesto del historial de activacion historialActivacion.Activo = true; historialActivacion.FechaInactivacion = null; historialActivacion.UsuarioInactivacion = null; historialActivacionDAO.GuardarHistorialActivacionManifiesto(historialActivacion); } } } return(respuesta); }