Beispiel #1
0
        public int CalcularKm(TurnoPartePersonal turno, DAOFactory daof)
        {
            double total = 0;

            total = daof.CocheDAO.GetDistance(cocheID, turno.AlPozoSalida, turno.AlPozoLlegada) + daof.CocheDAO.GetDistance(cocheID, turno.DelPozoSalida, turno.DelPozoLlegada);

            return((int)Math.Round(total));
        }
Beispiel #2
0
        public bool Superpuesto(TurnoPartePersonal turno, PartePersonal parte2)
        {
            foreach (var turno2 in parte2.Turnos)
            {
                if (turno2.AlPozoSalida <= turno.AlPozoSalida && turno2.AlPozoLlegada > turno.AlPozoSalida)
                {
                    return(true);
                }
                if (turno2.AlPozoSalida <= turno.AlPozoLlegada && turno2.AlPozoLlegada > turno.AlPozoLlegada)
                {
                    return(true);
                }
                if (turno2.AlPozoSalida <= turno.DelPozoSalida && turno2.AlPozoLlegada > turno.DelPozoSalida)
                {
                    return(true);
                }
                if (turno2.AlPozoSalida <= turno.DelPozoLlegada && turno2.AlPozoLlegada > turno.DelPozoLlegada)
                {
                    return(true);
                }

                if (turno2.DelPozoSalida <= turno.AlPozoSalida && turno2.DelPozoLlegada > turno.AlPozoSalida)
                {
                    return(true);
                }
                if (turno2.DelPozoSalida <= turno.AlPozoLlegada && turno2.DelPozoLlegada > turno.AlPozoLlegada)
                {
                    return(true);
                }
                if (turno2.DelPozoSalida <= turno.DelPozoSalida && turno2.DelPozoLlegada > turno.DelPozoSalida)
                {
                    return(true);
                }
                if (turno2.DelPozoSalida <= turno.DelPozoLlegada && turno2.DelPozoLlegada > turno.DelPozoLlegada)
                {
                    return(true);
                }
            }
            return(false);
        }
Beispiel #3
0
        public IList GetData(params object[] parameters)
        {
            int      linea       = Convert.ToInt32(parameters[0]);
            int      aseguradora = Convert.ToInt32(parameters[1]);
            DateTime inicio      = Convert.ToDateTime(parameters[2]);
            DateTime fin         = Convert.ToDateTime(parameters[3]);

            IList result = new ArrayList();
            IList list   = daoFactory.DocumentoDAO.FindParteReport(linea, aseguradora, inicio, fin);

            foreach (Documento doc in list)
            {
                PartePersonal parte = new PartePersonal();
                parte.Codigo        = doc.Codigo;
                parte.Descripcion   = doc.Descripcion;
                parte.Fecha         = doc.Fecha;
                parte.Id            = doc.Id;
                parte.Salida        = getValue("Lugar Partida", doc);
                parte.Observaciones = getValue("Observaciones", doc);
                parte.Llegada       = getValue("Lugar Llegada", doc);
                parte.KmTotal       = Convert.ToInt32(getValue("Kilometraje Total", doc));
                parte.Equipo        = getValue("Equipo", doc);
                parte.Empresa       = daoFactory.TransportistaDAO.FindById(Convert.ToInt32(getValue("Empresa", doc))).Descripcion;
                parte.Vehiculo      = Convert.ToInt32(getValue("Vehiculo", doc));
                parte.Turnos        = new List <TurnoPartePersonal>();

                string[] alPozoSalida   = getValueList("Hs Salida Al Pozo", doc);
                string[] alPozoLlegada  = getValueList("Hs Llegada Al Pozo", doc);
                string[] delPozoSalida  = getValueList("Hs Salida Del Pozo", doc);
                string[] delPozoLlegada = getValueList("Hs Llegada Del Pozo", doc);
                string[] km             = getValueList("Kilometraje", doc);
                string[] resp           = getValueList("Responsable", doc);

                for (int i = 0; i < alPozoSalida.Length; i++)
                {
                    TurnoPartePersonal turno = new TurnoPartePersonal();
                    turno.AlPozoSalida = Convert.ToDateTime(alPozoSalida[i], CultureInfo.InvariantCulture);
                    if (alPozoLlegada.Length > i)
                    {
                        turno.AlPozoLlegada = Convert.ToDateTime(alPozoLlegada[i], CultureInfo.InvariantCulture);
                    }
                    if (delPozoSalida.Length > i)
                    {
                        turno.DelPozoSalida = Convert.ToDateTime(delPozoSalida[i], CultureInfo.InvariantCulture);
                    }
                    if (delPozoLlegada.Length > i)
                    {
                        turno.DelPozoLlegada = Convert.ToDateTime(delPozoLlegada[i], CultureInfo.InvariantCulture);
                    }
                    if (km.Length > i)
                    {
                        turno.Km = Convert.ToInt32(km[i]);
                    }
                    if (resp.Length > i)
                    {
                        turno.Responsable = resp[i];
                    }

                    parte.Turnos.Add(turno);
                }

                parte.KmTotalCalculado = 0;
                foreach (TurnoPartePersonal turno in parte.Turnos)
                {
                    try
                    {
                        parte.KmTotalCalculado +=
                            daoFactory.CocheDAO.GetDistance(parte.Vehiculo, turno.AlPozoSalida, turno.AlPozoLlegada) +
                            daoFactory.CocheDAO.GetDistance(parte.Vehiculo, turno.DelPozoSalida, turno.DelPozoLlegada);
                    }catch
                    {
                    }
                }
                result.Add(parte);
            }
            return(result);
        }