Example #1
0
        public List <PlanillaArrastreHojaRutaNoRecibida> GetListPlanillaArrastreHojaRutaNoRecibida(Int32 PlanillaArrastreID)
        {
            IPlanillaArrastreHojaRutaNoRecibidaRepositorio _repositorio = IoC.GetObjectRepositorio <IPlanillaArrastreHojaRutaNoRecibidaRepositorio>();

            return(_repositorio.GetList(c => c.PlanillaArrastreID == PlanillaArrastreID, new String[] { "HojaRuta" }));
        }
Example #2
0
        public void Guardar(Entidades.PlanillaArrastre Datos, Int32 UsuarioID, List <Int32> PlanillaArrastreChoferABorrar)
        {
            ValidarDatos(Datos);

            using (System.Transactions.TransactionScope transaccion = new System.Transactions.TransactionScope())
            {
                Entidades.PlanillaArrastre _planilla;
                if (Datos.PlanillaArrastreID == 0)
                {
                    //_planilla = IoC.GetObjectRepositorio<IPlanillaArrastreRepositorio>().Insert(new PlanillaArrastre()
                    //{
                    //    PlanillaNumero = Datos.PlanillaNumero,
                    //    ServicioTransporteID = 0,// Datos.ServicioTransporteID,
                    //    UsuarioID = UsuarioID,
                    //    Fecha = DateTime.Now,
                    //    Baja = false,
                    //    AgenciaID = Datos.AgenciaID
                    //});

                    _planilla = new PlanillaArrastre()
                    {
                        PlanillaNumero       = 0, // Datos.PlanillaNumero,
                        ServicioTransporteID = 0, // Datos.ServicioTransporteID,
                        UsuarioID            = UsuarioID,
                        Fecha     = DateTime.Now,
                        Baja      = false,
                        AgenciaID = Datos.AgenciaID
                    };

                    IoC.GetObjectRepositorio <IPlanillaArrastreRepositorio>().GuardarNuevo(_planilla);
                }
                else
                {
                    _planilla = Datos;
                }

                IPlanillaArrastreChoferRepositorio repositorioChoferes = IoC.GetObjectRepositorio <IPlanillaArrastreChoferRepositorio>();
                Int32 _auxNumPosta = 0;
                foreach (Entidades.PlanillaArrastreChofer c in Datos.PlanillaArrastreChofers)
                {
                    _auxNumPosta++;
                    if (c.PlanillaArrastreChoferID == 0)
                    {
                        repositorioChoferes.Insert(new PlanillaArrastreChofer()
                        {
                            PlanillaArrastreID = _planilla.PlanillaArrastreID,
                            ChoferID           = c.ChoferID,
                            GuardaID           = c.GuardaID,
                            ChoferLegajoSITT   = c.ChoferLegajoSITT,
                            ChoferNombre       = c.ChoferNombre,
                            GuardaLegajoSITT   = c.GuardaLegajoSITT,
                            GuardaNombre       = c.GuardaNombre,
                            NumeroPosta        = _auxNumPosta
                        });
                    }
                    else
                    {
                        repositorioChoferes.Update(new PlanillaArrastreChofer()
                        {
                            PlanillaArrastreChoferID = c.PlanillaArrastreChoferID,
                            PlanillaArrastreID       = _planilla.PlanillaArrastreID,
                            ChoferID         = c.ChoferID,
                            GuardaID         = c.GuardaID,
                            ChoferLegajoSITT = c.ChoferLegajoSITT,
                            ChoferNombre     = c.ChoferNombre,
                            GuardaLegajoSITT = c.GuardaLegajoSITT,
                            GuardaNombre     = c.GuardaNombre,
                            NumeroPosta      = _auxNumPosta
                        });
                    }
                }

                foreach (Int32 c in PlanillaArrastreChoferABorrar)
                {
                    if (c != 0)
                    {
                        repositorioChoferes.Delete(new PlanillaArrastreChofer()
                        {
                            PlanillaArrastreChoferID = c
                        });
                    }
                }

                IPlanillaArrastreHojaRutaRepositorio repositorioHR = IoC.GetObjectRepositorio <IPlanillaArrastreHojaRutaRepositorio>();
                foreach (Entidades.PlanillaArrastreHojaRuta hr in Datos.PlanillaArrastreHojaRutas)
                {
                    repositorioHR.Insert(new PlanillaArrastreHojaRuta()
                    {
                        PlanillaArrastreID  = _planilla.PlanillaArrastreID,
                        HojaRutaID          = hr.HojaRutaID,
                        Observacion         = hr.Observacion,
                        NroHojaRuta         = hr.NroHojaRuta,
                        NroSucursalHojaRuta = hr.NroSucursalHojaRuta,
                        Automatizada        = hr.Automatizada
                    });
                }

                IPlanillaArrastreUsuarioRepositorio repositorioUsuario = IoC.GetObjectRepositorio <IPlanillaArrastreUsuarioRepositorio>();
                repositorioUsuario.Insert(new PlanillaArrastreUsuario()
                {
                    PlanillaArrastreID = _planilla.PlanillaArrastreID,
                    UsuarioID          = UsuarioID,
                    FechaModificacion  = DateTime.Now
                });

                IPlanillaArrastreHojaRutaNoRecibidaRepositorio      repositorioHRNoRecibida = IoC.GetObjectRepositorio <IPlanillaArrastreHojaRutaNoRecibidaRepositorio>();
                List <Entidades.PlanillaArrastreHojaRutaNoRecibida> lstHRNoRecibidas        = repositorioHRNoRecibida.GetList(hr => hr.PlanillaArrastreID == _planilla.PlanillaArrastreID);
                List <Entidades.PlanillaArrastreHojaRuta>           auxLstHRRecibidas       = repositorioHR.GetList(hr => hr.PlanillaArrastreID == _planilla.PlanillaArrastreID);
                foreach (Entidades.PlanillaArrastreHojaRutaNoRecibida hr in lstHRNoRecibidas)
                {
                    if ((from h in auxLstHRRecibidas
                         select h.HojaRutaID).ToList().IndexOf(hr.HojaRutaID) >= 0)
                    {
                        repositorioHRNoRecibida.Delete(hr);
                    }
                }
                //List<Entidades.HojaRuta> lstHR = IoC.GetObjectDominio<IHojaRutaDominio>().GetListByServicioTransporte(_planilla.ServicioTransporteID);
                //foreach (Entidades.HojaRuta hr in lstHR)
                //{
                //    if ((from h in auxLstHRRecibidas
                //         select h.HojaRutaID).ToList().IndexOf(hr.HojaRutaID) < 0)
                //    {

                //        if ((from h in lstHRNoRecibidas
                //             select h.HojaRutaID).ToList().IndexOf(hr.HojaRutaID) < 0)
                //        {
                //            repositorioHRNoRecibida.Insert(new PlanillaArrastreHojaRutaNoRecibida()
                //            {
                //                PlanillaArrastreID = _planilla.PlanillaArrastreID,
                //                HojaRutaID = hr.HojaRutaID
                //            });
                //        }
                //    }
                //}

                IHojaRutaDominio _HRDominio = IoC.GetObjectDominio <IHojaRutaDominio>();
                IPlanillaArrastreGuiaObservadaRepositorio repositorioGuiaObservada = IoC.GetObjectRepositorio <IPlanillaArrastreGuiaObservadaRepositorio>();
                Entidades.HojaRuta _hojaruta;
                foreach (Entidades.PlanillaArrastreHojaRuta hr in Datos.PlanillaArrastreHojaRutas)
                {
                    _hojaruta = _HRDominio.GetConGuiasYObservaciones(hr.HojaRutaID ?? 0);

                    if (_hojaruta != null)
                    {
                        foreach (Entidades.HojaRutaDetalleGuia hrDetalleGuia in _hojaruta.HojaRutaDetalleGuias)
                        {
                            if (hrDetalleGuia.Guia.ObservacionGuias.Count > 0)
                            {
                                try
                                {
                                    repositorioGuiaObservada.Insert(new PlanillaArrastreGuiaObservada()
                                    {
                                        PlanillaArrastreID = _planilla.PlanillaArrastreID,
                                        GuiaID             = hrDetalleGuia.GuiaID,
                                        ObservacionID      = hrDetalleGuia.Guia.ObservacionGuias[hrDetalleGuia.Guia.ObservacionGuias.Count - 1].ObservacionID,
                                        AgenciaID          = hrDetalleGuia.Guia.ObservacionGuias[hrDetalleGuia.Guia.ObservacionGuias.Count - 1].Usuario.AgenciaID ?? 0,
                                        HojaRutaID         = _hojaruta.HojaRutaID
                                    });
                                }
                                catch (Exception ex)
                                {
                                }
                            }
                        }
                    }
                }

                transaccion.Complete();
            }
        }