Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }