public List <PlanillasArrastresGuiasObservadas> GetListPlanillaArrastreGuiaObservada(Int32 PlanillaArrastreID) { IPlanillaArrastreGuiaObservadaRepositorio _repositorio = IoC.GetObjectRepositorio <IPlanillaArrastreGuiaObservadaRepositorio>(); return(_repositorio.PlanillaArrastreGuiaObservadaSEL(PlanillaArrastreID)); }
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(); } }