public PedidosPetrobras(LogicLinkFile file) { Llfile = file; DaoFactory = new DAOFactory(); Empresa = file.Empresa; Linea = file.Linea; }
public DistribucionSos(LogicLinkFile file) { Llfile = file; DaoFactory = new DAOFactory(); Empresa = file.Empresa; Cliente = DaoFactory.ClienteDAO.GetList(new[] { Empresa.Id }, new[] { -1 }).FirstOrDefault(); }
public DistribucionFemsa(LogicLinkFile file) { Llfile = file; DaoFactory = new DAOFactory(); Empresa = file.Empresa; Cliente = DaoFactory.ClienteDAO.FindById(4186); // RESTO DE MERCADO }
public AsignacionCodigoViaje(LogicLinkFile file) { Llfile = file; DaoFactory = new DAOFactory(); Empresa = file.Empresa; Linea = file.Linea; }
public AsignacionClienteEmpleado(LogicLinkFile file) { Llfile = file; DaoFactory = new DAOFactory(); Empresa = file.Empresa; Linea = file.Linea; }
public DistribucionQuilmes(LogicLinkFile file) { Llfile = file; DaoFactory = new DAOFactory(); Empresa = file.Empresa; Linea = file.Linea; Cliente = DaoFactory.ClienteDAO.FindById(4162); // MINORISTAS }
public LogicLinkFileVo(LogicLinkFile logicLinkFile) { Id = logicLinkFile.Id; Empresa = logicLinkFile.Empresa.RazonSocial; Base = logicLinkFile.Linea != null ? logicLinkFile.Linea.Descripcion : string.Empty; ServerName = logicLinkFile.ServerName; FilePath = logicLinkFile.FilePath; FileSource = logicLinkFile.FileSource; Strategy = logicLinkFile.Strategy; DateAdded = logicLinkFile.DateAdded.ToDisplayDateTime(); if (logicLinkFile.DateProcessed == null) { DateProcessed = null; } else { DateProcessed = logicLinkFile.DateProcessed.Value.ToDisplayDateTime(); } var status = string.Empty; switch (logicLinkFile.Status) { case LogicLinkFile.Estados.Pendiente: status = "PENDIENTE"; break; case LogicLinkFile.Estados.Procesado: status = "PROCESADO"; break; case LogicLinkFile.Estados.Procesando: status = "PROCESANDO"; break; case LogicLinkFile.Estados.Cancelado: status = "CANCELADO"; break; } Status = status; Result = logicLinkFile.Result; }
public static ViajeDistribucion Parse(LogicLinkFile file, out int rutas, out int entregas) { var distribucionSos = new DistribucionSos(file); return(distribucionSos.Parse(out rutas, out entregas)); }
public static void Parse(LogicLinkFile file, out int rutas, out int entregas) { new DistribucionQuilmes(file).Parse(out rutas, out entregas); }
public void ProcessArchivo(LogicLinkFile archivo) { archivo.Status = LogicLinkFile.Estados.Procesando; DaoFactory.LogicLinkFileDAO.SaveOrUpdate(archivo); using (var transaction = SmartTransaction.BeginTransaction()) { try { STrace.Trace(Component, "Procesando con Estrategia: " + archivo.Strategy); var rutas = 0; var entregas = 0; var clientes = 0; var asignaciones = 0; var result = string.Empty; var observaciones = string.Empty; ViajeDistribucion viaje = null; switch (archivo.Strategy) { case LogicLinkFile.Estrategias.DistribucionFemsa: DistribucionFemsa.Parse(archivo, out rutas, out entregas); _update = true; result = string.Format("Archivo procesado exitosamente. Rutas: {0} - Entregas: {1}", rutas, entregas); break; case LogicLinkFile.Estrategias.DistribucionQuilmes: DistribucionQuilmes.Parse(archivo, out rutas, out entregas, out observaciones); _update = true; result = string.Format("Archivo procesado exitosamente. Rutas: {0} - Entregas: {1}", rutas, entregas); if (observaciones != string.Empty) { result = result + " (" + observaciones + ")"; } break; case LogicLinkFile.Estrategias.DistribucionMusimundo: DistribucionMusimundo.Parse(archivo, out rutas, out entregas, out observaciones); _update = true; result = string.Format("Archivo procesado exitosamente. Rutas: {0} - Entregas: {1}", rutas, entregas); if (observaciones != string.Empty) { result = result + " (" + observaciones + ")"; } break; case LogicLinkFile.Estrategias.DistribucionBrinks: //DistribucionBrinks.Parse(archivo, out rutas, out entregas); break; case LogicLinkFile.Estrategias.DistribucionSos: viaje = DistribucionSos.Parse(archivo, out rutas, out entregas); result = string.Format("Archivo procesado exitosamente. Rutas: {0} - Entregas: {1}", rutas, entregas); break; case LogicLinkFile.Estrategias.DistribucionReginaldLee: DistribucionReginaldLee.Parse(archivo, out rutas, out entregas); _update = true; result = string.Format("Archivo procesado exitosamente. Rutas: {0} - Entregas: {1}", rutas, entregas); break; case LogicLinkFile.Estrategias.DistribucionCCU: var extension = GetFileName(archivo.FilePath); switch (extension) { case "Rutas.xlsx": DistribucionCCU.ParseRutas(archivo, out rutas, out entregas, out observaciones); _update = true; result = string.Format("Archivo procesado exitosamente. Rutas: {0} - Entregas: {1}", rutas, entregas); break; case "Clientes.xlsx": DistribucionCCU.ParseClientes(archivo, out clientes); result = string.Format("Archivo procesado exitosamente. Clientes: {0}", clientes); break; case "Asigno.xlsx": DistribucionCCU.ParseAsignaciones(archivo, out asignaciones, out observaciones); result = string.Format("Archivo procesado exitosamente. Asignaciones: {0}", asignaciones); break; default: result = string.Format("Extensión '" + extension + "' no válida."); break; } break; case LogicLinkFile.Estrategias.PedidosPetrobras: var pedidos = 0; PedidosPetrobras.Parse(archivo, out pedidos, out observaciones); result = string.Format("Archivo procesado exitosamente. Pedidos: {0}", pedidos); if (observaciones != string.Empty) { result = result + " (" + observaciones + ")"; } break; case LogicLinkFile.Estrategias.AsignacionClienteEmpleado: var asignados = 0; AsignacionClienteEmpleado.Parse(archivo, out asignados, out observaciones); result = string.Format("Archivo procesado exitosamente. Asignados: {0}", asignados); if (observaciones != string.Empty) { result = result + " (" + observaciones + ")"; } break; case LogicLinkFile.Estrategias.AsignacionCodigoViaje: var viajes = 0; AsignacionCodigoViaje.Parse(archivo, out viajes, out observaciones); result = string.Format("Archivo procesado exitosamente. Viajes: {0}", viajes); if (observaciones != string.Empty) { result = result + " (" + observaciones + ")"; } break; } archivo.Status = LogicLinkFile.Estados.Procesado; archivo.DateProcessed = DateTime.UtcNow; archivo.Result = result; DaoFactory.LogicLinkFileDAO.SaveOrUpdate(archivo); transaction.Commit(); if (archivo.Strategy == LogicLinkFile.Estrategias.DistribucionSos) { if (viaje != null) { foreach (var detalle in viaje.Detalles) { if (detalle.PuntoEntrega != null && detalle.PuntoEntrega.ReferenciaGeografica != null) { _update = true; } } if (viaje.Vehiculo != null && viaje.Estado == ViajeDistribucion.Estados.Pendiente) { var tieneViajeEnCurso = DaoFactory.ViajeDistribucionDAO.FindEnCurso(viaje.Vehiculo) != null; if (!tieneViajeEnCurso) { //var ciclo = new CicloLogisticoDistribucion(viaje, DaoFactory, // new MessageSaver(DaoFactory)); //var evento = new InitEvent(DateTime.UtcNow); //ciclo.ProcessEvent(evento); } if (viaje.Vehiculo.Dispositivo != null) { var msg = new StringBuilder(); var desde = viaje.Detalles[1].ReferenciaGeografica; var hasta = viaje.Detalles[2].ReferenciaGeografica; msg.Append("Viaje: " + viaje.Codigo); msg.Append("<br>Desde: " + GeocoderHelper.GetDescripcionEsquinaMasCercana(desde.Latitude, desde.Longitude)); msg.Append("<br>Hasta: " + GeocoderHelper.GetDescripcionEsquinaMasCercana(hasta.Latitude, hasta.Longitude)); var message = MessageSender.CreateSubmitTextMessage(viaje.Vehiculo.Dispositivo, new MessageSaver(DaoFactory)); message.AddMessageText(msg.ToString()); message.Send(); //STrace.Trace(Component, "Ruta Aceptada: " + MessageCode.RutaAceptada.ToString()); //STrace.Trace(Component, "Ruta Rechazada: " + MessageCode.RutaRechazada.ToString()); //var msgText = "Acepta la asignacion del servicio <br><b>" + viaje.Codigo + "</b>?"; //var replies = new[] { Convert.ToUInt32(MessageCode.RutaAceptada.ToString()), // Convert.ToUInt32(MessageCode.RutaRechazada.ToString()) }; //message = MessageSender.CreateSubmitCannedResponsesTextMessage(viaje.Vehiculo.Dispositivo, new MessageSaver(DaoFactory)); //message.AddMessageText(msgText) // .AddTextMessageId(Convert.ToUInt32(viaje.Id)) // .AddCannedResponses(replies) // .AddAckEvent(MessageCode.GarminCannedMessageReceived.GetMessageCode()); //message.Send(); } } } } STrace.Trace(Component, result); } catch (Exception ex) { AddError(ex); transaction.Rollback(); ClearData(); archivo.Status = LogicLinkFile.Estados.Cancelado; var result = "Archivo procesado erroneamente. Exception: " + ex.Message; archivo.Result = result; DaoFactory.LogicLinkFileDAO.SaveOrUpdate(archivo); STrace.Trace(Component, result); } finally { ClearData(); } } }
public static void Parse(LogicLinkFile file, out int rutas, out int entregas) { new DistribucionReginaldLee(file).Parse(out rutas, out entregas); }
public static void Parse(LogicLinkFile file, out int viajes, out string observaciones) { new AsignacionCodigoViaje(file).Parse(out viajes, out observaciones); }
public static void ParseClientes(LogicLinkFile file, out int clientes) { new DistribucionCCU(file).ParseClientes(out clientes); }
public static Dictionary <int, List <int> > ParseRutas(LogicLinkFile file, out int rutas, out int entregas, out string observaciones) { new DistribucionCCU(file).ParseRutas(out rutas, out entregas, out observaciones); return(EmpresasLineas); }
private const int IdClienteDefault = 4738; // SIN ASIGNAR public static void Parse(LogicLinkFile file, out int pedidos, out string observaciones) { new PedidosPetrobras(file).Parse(out pedidos, out observaciones); }
public static void Parse(LogicLinkFile file, out int puntos, out string observaciones) { new AsignacionClienteEmpleado(file).Parse(out puntos, out observaciones); }
public static void ParseAsignaciones(LogicLinkFile file, out int rutas, out string observaciones) { new DistribucionCCU(file).ParseAsignaciones(out rutas, out observaciones); }
public static void Parse(LogicLinkFile file, out int rutas, out int entregas, out string observaciones) { new DistribucionMusimundo(file).Parse(out rutas, out entregas, out observaciones); }