Exemple #1
0
 public static void Consultar(out List<eFact_Entidades.Lote> Lotes, eFact_Entidades.Lote.TipoConsulta TipoConsulta, DateTime FechaDsd, DateTime FechaHst, string CuitVendedor, string NumeroLote, string PuntoVenta, bool VerPendientes, CedEntidades.Sesion Sesion)
 {
     List<eFact_Entidades.Lote> lotes = new List<eFact_Entidades.Lote>();
     eFact_DB.Lote l = new eFact_DB.Lote(Sesion);
     l.Consultar(out lotes, TipoConsulta, FechaDsd, FechaHst, CuitVendedor, NumeroLote, PuntoVenta, VerPendientes);
     Lotes = lotes;
 }
Exemple #2
0
 public static void VerificarEnviosPosteriores(bool LoteNuevo, string CuitVendedor, string NumeroLote, string PuntoVenta, int NumeroEnvio, CedEntidades.Sesion Sesion)
 {
     List<eFact_Entidades.Lote> lotes = new List<eFact_Entidades.Lote>();
     eFact_DB.Lote l = new eFact_DB.Lote(Sesion);
     l.Consultar(out lotes, eFact_Entidades.Lote.TipoConsulta.SinAplicarFechas, DateTime.Today, DateTime.Today, CuitVendedor, NumeroLote, PuntoVenta, false);
     if (lotes.Count != 0)
     {
         //Verificar si hay envios posteriores del lote. 
         if (lotes[0].NumeroEnvio > NumeroEnvio)
         {
             throw new Microsoft.ApplicationBlocks.ExceptionManagement.Validaciones.Lote.HayEnviosPosteriores("");
         }
         //Verifico el estado de la ultimo lote enviado.
         if (LoteNuevo && (lotes[0].WF.IdEstado != "RechazadoIF" && lotes[0].WF.IdEstado != "Cancelado"))
         {
             throw new Microsoft.ApplicationBlocks.ExceptionManagement.Validaciones.Lote.Existente("Ya existe el lote " + NumeroLote + " en el estado: " + lotes[0].WF.DescrEstado);
         }
     }
 }
Exemple #3
0
 public static void ObtenerNumeroEnvioDisponible(out int NumeroEnvioDisponible, string CuitVendedor, string NumeroLote, string PuntoVenta, CedEntidades.Sesion Sesion)
 {
     List<eFact_Entidades.Lote> lotes = new List<eFact_Entidades.Lote>();
     eFact_DB.Lote l = new eFact_DB.Lote(Sesion);
     l.Consultar(out lotes, eFact_Entidades.Lote.TipoConsulta.SinAplicarFechas, DateTime.Today, DateTime.Today, CuitVendedor, NumeroLote, PuntoVenta, false);
     if (lotes.Count != 0)
     {
         //Verificar que el ultimo envio del lote este un estado final ( cancelado o rechzado por interfactureas ) para generar un nuevo numero de envio.
         if (lotes[0].WF.IdEstado == "RechazadoIF" || lotes[0].WF.IdEstado == "Cancelado")
         {
             NumeroEnvioDisponible = lotes.Count + 1;
         }
         else
         {
             throw new Microsoft.ApplicationBlocks.ExceptionManagement.Validaciones.Lote.ImposibleAsignarNuevoNroEnvio("Ya existe el lote " + NumeroLote + " en el estado: " + lotes[0].WF.DescrEstado);
         }
     }
     else
     {
         //Si el lote NO existe, es el primer envio.
         NumeroEnvioDisponible = 1;
     }
 }