private string GetCodigoTicket(ImportTicket ticketInfo) { //opf var codigo = string.IsNullOrEmpty(ColumnaCodigoTicket) ? string.Concat(Convert.ToDateTime(ticketInfo.Fecha).ToString("yyMMdd"), ".", ticketInfo.CodigoCliente, ".", ticketInfo.CodigoPtoDeEntrega, ".", ticketInfo.CodigoProducto) : ticketInfo.CodigoTicket; return(codigo); }
private void Log(string status, ImportTicket row) { var codigo = GetCodigoTicket(row); lblResult.Text += string.Format(Result, status, row.CodigoCliente, row.DescripcionCliente, row.CodigoPtoDeEntrega, row.DescripcionPtoDeEntrega, codigo, row.CantPedido, row.CantAcumulada, row.Unidad); }
private PuntoEntrega CreatePtoDeEntrega(ImportTicket ticketInfo, Cliente cliente) { var poi = ticketInfo.DireccionPtoDeEntrega + ", " + ticketInfo.LocalidadPtoDeEntrega; bool nomenclado; var puntoDeInteres = GetGeoRef(poi, ddlTipoGeoRefPtoInteres, cliente.Codigo + "_" + ticketInfo.CodigoPtoDeEntrega, ticketInfo.DescripcionPtoDeEntrega, cliente.Linea, out nomenclado); var pto = new PuntoEntrega { Cliente = cliente, Codigo = Trunc(ticketInfo.CodigoPtoDeEntrega, 32), Descripcion = Trunc(ticketInfo.DescripcionPtoDeEntrega, 40), Telefono = "", Baja = false, ReferenciaGeografica = puntoDeInteres, Nomenclado = nomenclado, DireccionNomenclada = Trunc(poi, 255) }; DAOFactory.PuntoEntregaDAO.SaveOrUpdate(pto); return(pto); }
private Cliente CreateCliente(ImportTicket ticketInfo, Empresa emp, Linea lin) { var clientPoi = ticketInfo.DireccionCliente + ", " + ticketInfo.LocalidadCliente + ", " + ticketInfo.ProvinciaCliente; bool nomenclado; var puntoDeInteres = GetGeoRef(clientPoi, ddlTipoGeoRefCli, ticketInfo.CodigoCliente, ticketInfo.DescripcionCliente, lin, out nomenclado); var cli = new Cliente { Codigo = Trunc(ticketInfo.CodigoCliente, 32), Descripcion = Trunc(ticketInfo.DescripcionCliente, 40), DescripcionCorta = Trunc(ticketInfo.DescripcionCliente, 17), Empresa = emp, Linea = lin, Telefono = Trunc(ticketInfo.TelefonoCliente, 32), Baja = false, ReferenciaGeografica = puntoDeInteres, Nomenclado = nomenclado, DireccionNomenclada = Trunc(clientPoi, 255) }; DAOFactory.ClienteDAO.SaveOrUpdate(cli); return(cli); }
private Ticket CreateTicket(Linea linea, ImportTicket ticketInfo, Empresa empresa, IList ticketDetails) { var cod = Trunc(ticketInfo.CodigoCliente, 32); var idEmpresa = new[] { empresa != null ? empresa.Id : -1 }; var idLinea = new[] { linea != null ? linea.Id : -1 }; var cliente = DAOFactory.ClienteDAO.FindByCode(idEmpresa, idLinea, cod) ?? CreateCliente(ticketInfo, empresa, linea); if (cliente == null) { return(null); } var ptoEntrega = DAOFactory.PuntoEntregaDAO.GetByCode(idEmpresa, idLinea, new[] { cliente.Id }, ticketInfo.CodigoPtoDeEntrega) ?? CreatePtoDeEntrega(ticketInfo, cliente); if (ptoEntrega == null) { return(null); } var ticket = new Ticket { Linea = linea, BaseDestino = linea, Codigo = GetCodigoTicket(ticketInfo), FechaTicket = Convert.ToDateTime(ticketInfo.Fecha).ToDataBaseDateTime(), Cliente = cliente, PuntoEntrega = ptoEntrega, Unidad = ticketInfo.Unidad, CodigoProducto = ticketInfo.CodigoProducto, UserField1 = ticketInfo.Comentario1, UserField2 = ticketInfo.Comentario2, UserField3 = ticketInfo.Comentario3, CantidadCarga = "0", CantidadPedido = ticketInfo.CantPedido, CumulativeQty = string.IsNullOrEmpty(ticketInfo.CantAcumulada) ? "0" : ticketInfo.CantAcumulada, Estado = 0, Vehiculo = null, Empleado = null, EstadoLogistico = null, FechaDescarga = null, FechaFin = null, SourceFile = "LOGICTRACKER", SourceStation = "LOGICTRACKER" }; var fecha = ticket.FechaTicket; foreach (var e in (from Estado e in ticketDetails orderby e.Orden select e)) { ticket.Detalles.Add(new DetalleTicket { EstadoLogistico = e, Ticket = ticket, Programado = fecha }); fecha = fecha.Value.Add(TimeSpan.FromMinutes(e.Deltatime)); } ticket.OrdenDiario = DAOFactory.TicketDAO.FindNextOrdenDiario(idEmpresa[0], idLinea[0], ticket.FechaTicket.Value); if (ticket.Vehiculo != null) { ticket.Dispositivo = ticket.Vehiculo.Dispositivo; } return(ticket); }