예제 #1
0
 public objRes Delete(string Placa)
 {
     using (ctx = new tvEntities())
     {
         objRes Res = new objRes();
         try
         {
             buses oBus = ctx.buses.Where(t => t.Placa == Placa).FirstOrDefault();
             if (oBus != null)
             {
                 ctx.buses.Remove(oBus);
                 ctx.SaveChanges();
                 Res.Error = false;
                 Res.Mensaje = "Operacion realizada satisfactoriamente!!!";
             }
             else
             {
                 Res.Error = true;
                 Res.Mensaje = "No existe bus con esa placa!!!";
             }
             return Res;
         }
         catch (Exception e)
         {
             Res.Error = true;
             Res.Mensaje = e.Message;
             return Res;
         }
     }
 }
예제 #2
0
        public objRes Delete(string NomRuta)
        {
            using (ctx = new tvEntities())
            {
                objRes Res = new objRes();
                try
                {
                    rutas oRuta = ctx.rutas.Where(t => t.NomRuta == NomRuta).FirstOrDefault();
                    if (oRuta != null)
                    {
                        foreach (coordenadasrutas item in oRuta.coordenadasrutas.ToList())
                        {
                            ctx.coordenadasrutas.Remove(item);
                            ctx.SaveChanges();
                        }

                        ctx.rutas.Remove(oRuta);
                        ctx.SaveChanges();
                        Res.Error = false;

                        Res.Mensaje = "Operacion realizada satisfactoriamente!!!";
                    }
                    else
                    {
                        Res.Error = true;
                        Res.Mensaje = "No existe ruta con este nombre!!!";
                    }
                    return Res;
                }
                catch (Exception e)
                {
                    Res.Error = true;
                    Res.Mensaje = e.Message;
                    return Res;
                }
            }
        }
예제 #3
0
 public objRes AsigPuntosRuta(coordenadasrutasDto Reg)
 {
     using (ctx = new tvEntities())
     {
         objRes Respuesta = new objRes();
         try
         {
             coordenadasrutas coor = new coordenadasrutas();
             Mapper.Map(Reg, coor);
             ctx.coordenadasrutas.Add(coor);
             ctx.SaveChanges();
             Respuesta.Error = false;
             Respuesta.Mensaje = "Operacion realizada satisfactoriamente!!!";
             return Respuesta;
         }
         catch (Exception e)
         {
             Respuesta.Error = true;
             Respuesta.Mensaje = e.Message;
             return Respuesta;
         }
     }
 }
예제 #4
0
        public objRes Insert(entradassalidasDTO Reg)
        {
            using (ctx = new tvEntities())
            {
                objRes Respuesta = new objRes();
                try
                {
                    buses Bus = ctx.buses.Where(t => t.Placa == Reg.Placa).FirstOrDefault();
                    if (Bus != null)
                    {
                        entradassalidas ESOld = ctx.entradassalidas.Where(t => t.Placa == Reg.Placa).OrderByDescending(t => t.Fecha).FirstOrDefault();
                        if (ESOld == null)
                        {
                            entradassalidas ES = new entradassalidas();
                            ES.Fecha = DateTime.Now;
                            ES.Estado = "S";
                            ES.Placa = Reg.Placa;
                            ctx.entradassalidas.Add(ES);
                            ctx.SaveChanges();
                            Respuesta.Error = false;
                            Respuesta.Mensaje = "Operacion realizada satisfactoriamente!!!";
                            return Respuesta;
                        }
                        else
                        {
                            DateTime FechaActual = DateTime.Now;
                            TimeSpan Diferencia = FechaActual - ESOld.Fecha;
                            if (Diferencia.TotalMinutes < 10)
                            {
                                Respuesta.Error = true;
                                Respuesta.Mensaje = "Este bus ya tiene un evento registrado en menos de 10 minutos, por favor verifique o espere!!!";
                                return Respuesta;
                            }
                            else
                            {
                                entradassalidas ES = new entradassalidas();
                                ES.Fecha = FechaActual;
                                if (ESOld.Estado == "E") ES.Estado = "S";
                                else ES.Estado = "E";
                                ES.Placa = Reg.Placa;
                                ctx.entradassalidas.Add(ES);
                                ctx.SaveChanges();
                                Respuesta.Error = false;
                                Respuesta.Mensaje = "Operacion realizada satisfactoriamente!!!";
                                return Respuesta;
                            }

                        }
                    }
                    else
                    {
                        Respuesta.Error = true;
                        Respuesta.Mensaje = "No existe un bus registrado con placa: " + Reg.Placa;
                        return Respuesta;
                    }
                }
                catch (Exception e)
                {
                    Respuesta.Error = true;
                    Respuesta.Mensaje = e.Message;
                    return Respuesta;
                }
            }
        }
예제 #5
0
 public objRes Insert(rutasDto Reg)
 {
     using (ctx = new tvEntities())
     {
         objRes Respuesta = new objRes();
         try
         {
             rutas RutaOld = ctx.rutas.Where(t => t.NomRuta == Reg.NomRuta).FirstOrDefault();
             if (RutaOld == null)
             {
                 rutas ruta = new rutas();
                 Mapper.Map(Reg, ruta);
                 ctx.rutas.Add(ruta);
                 ctx.SaveChanges();
                 Respuesta.Error = false;
                 Respuesta.Mensaje = "Operacion realizada satisfactoriamente!!!";
                 return Respuesta;
             }
             else
             {
                 Respuesta.Error = true;
                 Respuesta.Mensaje = "Ya se encuentra registrado un bus con esta placa...";
                 return Respuesta;
             }
         }
         catch (Exception e)
         {
             Respuesta.Error = true;
             Respuesta.Mensaje = e.Message;
             return Respuesta;
         }
     }
 }
예제 #6
0
 public objRes Update(busesDto Reg)
 {
     using (ctx = new tvEntities())
     {
         objRes Respuesta = new objRes();
         try
         {
             buses BusOld = ctx.buses.Where(t => t.Placa == Reg.Placa).FirstOrDefault();
             if (BusOld != null)
             {
                 Mapper.Map(Reg, BusOld);
                 ctx.SaveChanges();
                 Respuesta.Error = false;
                 Respuesta.Mensaje = "Operacion realizada satisfactoriamente!!!";
                 return Respuesta;
             }
             else
             {
                 Respuesta.Error = true;
                 Respuesta.Mensaje = "No se encuentra registrado un bus con esta placa...";
                 return Respuesta;
             }
         }
         catch (Exception e)
         {
             Respuesta.Error = true;
             Respuesta.Mensaje = e.Message;
             return Respuesta;
         }
     }
 }
예제 #7
0
 public objRes InsertGrupo(string NombreGrupo)
 {
     using (ctx = new tvEntities())
     {
         objRes res = new objRes();
         gruposbuses grupo = ctx.gruposbuses.Where(t => t.Nombre == NombreGrupo).FirstOrDefault();
         if (grupo == null)
         {
             grupo = new gruposbuses();
             grupo.Nombre = NombreGrupo;
             ctx.gruposbuses.Add(grupo);
             ctx.SaveChanges();
             res.Error = false;
             res.Mensaje = "Operacion Realizada Satisfactoriamente...";
         }
         else
         {
             res.Error = true;
             res.Mensaje = "Ya existe un grupo con es nombre...";
         }
         return res;
     }
 }
예제 #8
0
        public objRes InsertOrUpdateDocumentos(List<documentosbusDTO> lDocBusDto)
        {
            documentosbus DocBus;
            using (ctx = new tvEntities())
            {
                objRes Respuesta = new objRes();
                try
                {
                    foreach (var DocBusDto in lDocBusDto)
                    {
                        DocBus = ctx.documentosbus.Where(t => t.placa == DocBusDto.placa && t.documento == DocBusDto.documento).FirstOrDefault();
                        if (DocBus == null)
                        {
                            DocBus = new documentosbus();
                            Mapper.Map(DocBusDto, DocBus);
                            ctx.documentosbus.Add(DocBus);
                            ctx.SaveChanges();
                        }
                        else
                        {
                            DocBus.Numero = DocBusDto.Numero;
                            DocBus.fechaExpedicion = DocBusDto.fechaExpedicion;
                            DocBus.fechaExpiracion = DocBusDto.fechaExpiracion;
                            ctx.SaveChanges();
                        }
                    }

                    Respuesta.Error = false;
                    Respuesta.Mensaje = "Operacion realizada satisfactoriamente!!!";
                    return Respuesta;

                }
                catch (Exception e)
                {
                    Respuesta.Error = true;
                    Respuesta.Mensaje = e.Message;
                    return Respuesta;
                }
            }
        }
        public objRes insert(historialmovimientoDTO hMDto)
        {
            using (ctx = new tvEntities())
            {
                objRes Respuesta = new objRes();
                decimal latitud,longitud,latPunto,lonPunto,dec;

                try
                {
                    historialmovimiento hM = new historialmovimiento();

                    hMDto.Placa = ctx.buses.Where(t => t.Vial == hMDto.Vial).FirstOrDefault().Placa;

                    List<puntoscontrol> lpC = ctx.puntoscontrol.ToList();
                    foreach (var pCtr in lpC)
                    {
                        latitud = Convert.ToDecimal(hMDto.Latitud, CultureInfo.InvariantCulture);
                        longitud = Convert.ToDecimal(hMDto.Longitud, CultureInfo.InvariantCulture);

                        latPunto = Convert.ToDecimal(pCtr.Latitud, CultureInfo.InvariantCulture);
                        lonPunto = Convert.ToDecimal(pCtr.Longitud, CultureInfo.InvariantCulture);

                        dec = (decimal)0.001;

                        if ((latitud <= latPunto + dec) &&
                            (latitud >= latPunto- dec))
                        {
                            if (longitud <= lonPunto  + dec &&
                                longitud >= lonPunto- dec)
                            {
                                hMDto.Punto = pCtr.id;
                                break;
                            }
                        }
                    }

                    historialmovimiento hmAux = ctx.historialmovimiento.
                       OrderByDescending(t => t.Fecha).
                       Where(t => t.buses.Vial == hMDto.Vial && t.Fecha > hMDto.Fecha.Date && t.Punto != null).
                       FirstOrDefault();

                    if (hmAux.Punto == hMDto.Punto)
                    {
                        hMDto.Punto = null;
                    }

                    Mapper.Map(hMDto,hM);
                    ctx.historialmovimiento.Add(hM);
                    ctx.SaveChanges();
                    Respuesta.Mensaje = "Guardado con Exito";
                    Respuesta.Error = false;
                    return Respuesta;
                }
                catch (Exception e)
                {
                    Respuesta.Error = true;
                    Respuesta.Mensaje = e.Message;
                    return Respuesta;
                }
            }
        }
예제 #10
0
        private List<List<detallesplanillaDTO>> crearRotacionesBuses(ref string[] nBus,ref int mes,ref DateTime fcha,
            ref int grupo,ref List<rutagrupo> lrGrupo,
            ref List<buses> lBus)
        {
            planillacontrol pC;

            int diasMes = DateTime.DaysInMonth(fcha.Year, fcha.Month);
            int d = 1;
            int k=1;
            int daysToToday;

            daysToToday = Convert.ToInt32((fcha - (new DateTime(DateTime.Now.Year, 1, 1))).TotalDays);
            string[] mBus = new string[30];
            List<List<detallesplanillaDTO>> lldP = new List<List<detallesplanillaDTO>>();

            for (int i = 1; i <= mesTurno.GetLength(1); i++)
            {
            mBus[i] = nBus[mesTurno[mes - 1, i - 1]];
            }

            for (int i = 0; i < dia.GetLength(0); i++)
            {
            if (diasMes == lldP.Count)
            {
                break;
            }

            List<detallesplanillaDTO> ldP = new List<detallesplanillaDTO>();
            for (int j = 0; j < dia.GetLength(1); j++)
            {
                detallesplanillaDTO dP = new detallesplanillaDTO();
                dP.Vial = mBus[dia[i, j]];
                dP.PlacaBus = lBus.Find(t => t.Vial == dP.Vial).Placa;
                ldP.Add(dP);
                k++;

            }

            if (i == dia.GetLength(0) - 1)
            {
                i = 0;
            }

            lldP.Add(ldP);

            /////////////// Rutas para cada dia //////////////////
            //En el primer objeto de la lista de detallesplanilla
            if ((lldP.Count + daysToToday) % 2 == 0)
            {
                ldP.ElementAt(0).Ruta = lrGrupo.ElementAt(0).Ruta;
            }
            else
            {
                try
                {
                    ldP.ElementAt(0).Ruta = lrGrupo.ElementAt(1).Ruta;
                }
                catch (ArgumentOutOfRangeException e)
                {
                    ldP.ElementAt(0).Ruta = lrGrupo.ElementAt(0).Ruta;
                }
            }
            /////////////////////////////////////////////////////
            }

            ///Guardar Detalles de Planilla (Rotaciones del mes)
            ///
            using (ctx=new tvEntities()){

            foreach (List<detallesplanillaDTO> lDp in lldP)
            {
                ////Creo una nueva Planilla control
                pC = new planillacontrol();
                pC.Fecha = new DateTime(DateTime.Now.Year,mes,d);
                pC.Grupo = grupo;
                ctx.planillacontrol.Add(pC);
                ctx.SaveChanges();
                d++;

                string ru = lDp.ElementAt(0).Ruta;
                rutas ruta = ctx.rutas.Where(t => t.NomRuta == ru).FirstOrDefault();
                int frec = ruta.Frecuencia.Value;
                time = ctx.horario.Where(t => t.id == ruta.idHorario).FirstOrDefault().hora.Value;

                foreach (detallesplanillaDTO DpDTO in lDp)
                {
                    DpDTO.idPlanillaControl = pC.id;
                    DpDTO.Ruta = lDp.ElementAt(0).Ruta;
                    DpDTO.HoraSalida = time;
                    detallesplanilla dP = new detallesplanilla();
                    Mapper.Map(DpDTO, dP);
                    ctx.detallesplanilla.Add(dP);
                    ctx.SaveChanges();
                    DpDTO.id = dP.id;

                    time = time + new TimeSpan(0, frec, 0);
                }
            }

            }
            ////////////////////////////////

            return lldP;
        }
예제 #11
0
        public objRes update(List<detallesplanillaDTO> lDpDTO)
        {
            using (ctx = new tvEntities())
              {
              objRes Respuesta = new objRes();
              detallesplanilla dp;
              buses bus;

              try
              {
                  foreach (detallesplanillaDTO DpDTO in lDpDTO)
                  {
                      bus = ctx.buses.Where(t => t.Vial == DpDTO.Vial).FirstOrDefault();
                      dp = ctx.detallesplanilla.Where(t => t.id == DpDTO.id).FirstOrDefault();
                      dp.PlacaBus = bus.Placa;
                      ctx.SaveChanges();

                  }

                  Respuesta.Error = false;
                  Respuesta.Mensaje = "Operacion realizada satisfactoriamente!!!";
                  return Respuesta;

              }
              catch (Exception e)
              {
                  Respuesta.Error = true;
                  Respuesta.Mensaje = e.Message;
                  return Respuesta;
              }
              }
        }
예제 #12
0
        public List<planillarecaudoDTO> get(DateTime fecha, int grupo)
        {
            fecha = fecha.Date;//new DateTime(fecha.Year,fecha.Month,fecha.d)
               DateTime fechaFin = new DateTime(fecha.Year, fecha.Month, fecha.Day, 23, 59, 59);
               List<planillarecaudoDTO> lPlaRecDto;
               planillarecaudo pR;
               planillarecaudo pRaux;
               planillarecaudoDTO pRDto;
               gastos gastos;
               DateTime fecha2;

               using (ctx = new tvEntities()) {
               planillacontrol PlaCtr = ctx.planillacontrol.Where(t => t.Fecha==fecha && t.Grupo == grupo).FirstOrDefault();

               if (PlaCtr!=null)
               {
                   lPlaRecDto = new List<planillarecaudoDTO>();

                   List<detallesplanilla> lDePla = PlaCtr.detallesplanilla.OrderBy(t=> t.id).Where(t=> t.idPlanillaControl==PlaCtr.id).ToList();

                   foreach (detallesplanilla dP in lDePla)
                   {
                       pR = ctx.planillarecaudo.OrderBy(t=> t.idDetallesPlanilla).Where(t => t.idDetallesPlanilla == dP.id).FirstOrDefault();
                       pRDto = new planillarecaudoDTO();

                       if (pR == null)
                       {
                           pR = new planillarecaudo();
                           gastos = new gastos();
                           pR.idDetallesPlanilla = dP.id;
                           pR.Recorridos = ctx.entradassalidas.Where(t => t.Fecha > fecha &&
                               t.Fecha < fechaFin &&
                               t.Placa == dP.PlacaBus && t.Estado == "E").Count();// Calcular el numero de Recorridos. Corregir
                           pR.Fecha = fecha;
                           ctx.planillarecaudo.Add(pR);
                           ctx.SaveChanges();

                           gastos.idplanillarecaudo = pR.id;
                           ctx.gastos.Add(gastos);
                           ctx.SaveChanges();

                           //pRaux=ctx.planillarecaudo.OrderByDescending(t=> t.detallesplanilla.id)
                           //    .Where(t=> t.detallesplanilla.id<pR.idDetallesPlanilla &&
                           //        t.detallesplanilla.PlacaBus==
                           //        (ctx.detallesplanilla.Where(y=>y.id==pR.idDetallesPlanilla).FirstOrDefault().PlacaBus))
                           //    .FirstOrDefault();
                           fecha2 = fecha.AddDays(-1);
                           pRaux = ctx.planillarecaudo.Where(t => t.Fecha == fecha2 && t.detallesplanilla.PlacaBus ==dP.PlacaBus).FirstOrDefault();

                           if (pRaux == null)
                           {
                               pR.InicioTorniquete = 0;
                           }
                           else
                           {
                               pR.InicioTorniquete = pRaux.FinTorniquete;
                           }

                           ctx.SaveChanges();

                       }

                       Mapper.Map(pR, pRDto);
                       pRDto.Time = dP.HoraSalida.ToString();
                       Mapper.Map(pR.gastos, pRDto.gastos);
                       lPlaRecDto.Add(pRDto);
                   }

                   return lPlaRecDto;
               }
               else
               {
                   return null;
               }
               }
        }
예제 #13
0
        public objRes update(planillarecaudoDTO pRDTO)
        {
            using (ctx = new tvEntities())
               {
               objRes Respuesta = new objRes();
               planillarecaudo pR;

               try
               {
                   pR= ctx.planillarecaudo.Where(t=>t.id==pRDTO.id).FirstOrDefault();
                   if (pR != null)
                   {
                       Mapper.Map(pRDTO, pR);
                       Mapper.Map(pRDTO.gastos, pR.gastos);
                       ctx.SaveChanges();
                       Respuesta.Error = false;
                       Respuesta.Mensaje = "Operacion realizada satisfactoriamente!!!";
                       return Respuesta;
                   }
                   else
                   {
                       Respuesta.Error = true;
                       Respuesta.Mensaje = "No se encuentro registrada la planilla de reacaudo a actualizar...";
                       return Respuesta;
                   }

               }
               catch (Exception e)
               {
                   Respuesta.Error = true;
                   Respuesta.Mensaje = e.Message;
                   return Respuesta;
               }
               }
        }