Esempio n. 1
0
        internal static VentaGanadoInfo ObtenerVentaGanadoPorTicket(DataSet ds)
        {
            try
            {
                DataTable dt = ds.Tables[ConstantesDAL.DtDatos];

                VentaGanadoInfo result =
                    (from info in dt.AsEnumerable()
                     select
                     new VentaGanadoInfo
                {
                    VentaGanadoID = info.Field <int>("VentaGanadoID")
                    , FolioTicket = info.Field <int>("FolioTicket")
                    , FolioFactura = info["FolioFactura"] == DBNull.Value ? "0" : info.Field <string>("FolioFactura")
                    , ClienteID = info.Field <int>("ClienteID")
                    , CodigoSAP = info.Field <string>("CodigoSAP")
                    , FechaVenta = info.Field <DateTime>("FechaVenta")
                    , PesoTara = info.Field <decimal>("PesoTara")
                    , PesoBruto = info.Field <decimal>("PesoBruto")
                    , LoteID = info["LoteID"] == DBNull.Value ? 0 : info.Field <int>("LoteID")
                    , CodigoCorral = info["Codigo"] == DBNull.Value ? "" : info.Field <string>("Codigo")
                    , Activo = info.Field <bool>("Activo")
                    , UsuarioCreacionID = info["UsuarioCreacionID"] == DBNull.Value ? 1 : info.Field <int>("UsuarioCreacionID")
                    , UsuarioModificacionID = info["UsuarioModificacionID"] == DBNull.Value ? 1 : info.Field <int>("UsuarioModificacionID")
                    , TotalCabezas = info["TotalCabezas"] == DBNull.Value ? 0 : info.Field <int>("TotalCabezas")
                }).First();
                return(result);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
        public static VentaGanadoInfo ValidarTicket(int ticket, int tipoVenta)
        {
            VentaGanadoInfo ventaGanado = null;
            TicketInfo      ticketInfo  = new TicketInfo();

            ticketInfo.FolioTicket = ticket;

            if (tipoVenta == TipoVentaEnum.Propio.GetHashCode())
            {
                ticketInfo.TipoVenta = TipoVentaEnum.Propio;
            }
            else
            {
                ticketInfo.TipoVenta = TipoVentaEnum.Externo;
            }
            try
            {
                var seguridad      = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
                int organizacionID = 0;
                if (seguridad != null)
                {
                    organizacionID = seguridad.Usuario.Organizacion.OrganizacionID;
                }
                var ventaGanadoPL = new VentaGanadoPL();
                ticketInfo.Organizacion = organizacionID;
                ventaGanado             = ventaGanadoPL.ObtenerVentaGanadoPorTicket(ticketInfo);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(ventaGanado);
        }
Esempio n. 3
0
 /// <summary>
 /// Obtiene una venta por su folio ticket
 /// </summary>
 /// <param name="ds"></param>
 /// <returns></returns>
 internal static VentaGanadoInfo ObtenerVentaGanadoPorFolioTicket(DataSet ds)
 {
     try
     {
         DataTable       dt     = ds.Tables[ConstantesDAL.DtDatos];
         VentaGanadoInfo result =
             (from info in dt.AsEnumerable()
              select
              new VentaGanadoInfo
         {
             FolioTicket = info.Field <int>("FolioTicket"),
             VentaGanadoID = info.Field <int>("VentaGanadoID"),
             NombreCliente =
                 string.Format("{0}-{1}", info.Field <string>("CodigoSAP"),
                               info.Field <string>("Descripcion")),
             FechaVenta = info.Field <DateTime>("FechaVenta")
         }).FirstOrDefault();
         return(result);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 4
0
 /// <summary>
 /// Obtiene el listado de los datos generales del ticket.
 /// </summary>
 /// <param name="ticket"></param>
 /// <param name="organizacionID"> </param>
 /// <returns></returns>
 internal VentaGanadoInfo ObtenerVentaGanadoPorTicket(TicketInfo Ticket)
 {
     try
     {
         Dictionary <string, object> parameters = AuxVentaGanado.ObtenerParametrosObtenerPorFolioTicket(Ticket);
         DataSet         ds    = Retrieve("SalidaIndividualVenta_ConsultaVentaGanadoPorTicket", parameters);
         VentaGanadoInfo venta = null;
         if (ValidateDataSet(ds))
         {
             venta = MapVentaGanadoDAL.ObtenerVentaGanadoPorTicket(ds);
         }
         return(venta);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 5
0
        /// <summary>
        /// Obtiene los valores para la reimpresion de
        /// la poliza de salida por venta
        /// </summary>
        /// <param name="ventaGanado"></param>
        /// <param name="polizaClave"> </param>
        private MemoryStream ReimprimirPolizaVenta(VentaGanadoInfo ventaGanado, TipoPolizaInfo polizaClave)
        {
            var polizaBL       = new PolizaBL();
            int organizacionID = ventaGanado.Lote.OrganizacionID;
            var ventaGanadoBL  = new VentaGanadoBL();
            List <ContenedorVentaGanado> ventasGanado =
                ventaGanadoBL.ObtenerVentaGanadoPorTicketPoliza(ventaGanado.FolioTicket, organizacionID);
            MemoryStream pdf = null;

            var tipoPoliza = TipoPoliza.SalidaVenta;

            IList <PolizaInfo> polizasVenta = polizaBL.ObtenerPoliza(tipoPoliza, organizacionID,
                                                                     ventaGanado.FechaVenta
                                                                     , ventaGanado.FolioTicket.ToString(),
                                                                     polizaClave.ClavePoliza, 1);
            var poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(tipoPoliza);

            var polizaGenerada = false;

            if (polizasVenta == null)
            {
                if (ventasGanado != null && ventasGanado.Any())
                {
                    var animalCostoBL = new AnimalCostoBL();
                    var detalleVentas = new List <VentaGanadoDetalleInfo>();
                    ventasGanado.ForEach(det => detalleVentas.Add(det.VentaGanadoDetalle));

                    List <AnimalInfo> animalesGenerarPoliza = detalleVentas.Select(ani => new AnimalInfo
                    {
                        AnimalID = ani.Animal.AnimalID,
                        OrganizacionIDEntrada = organizacionID
                    }).ToList();
                    List <AnimalCostoInfo> animalCosto = animalCostoBL.ObtenerCostosAnimal(animalesGenerarPoliza);
                    if (animalCosto != null &&
                        !animalCosto.Any(id => id.CostoID == 1 && id.Importe == 0))
                    {
                        polizasVenta = poliza.GeneraPoliza(ventasGanado);
                        polizasVenta.ToList().ForEach(org => org.OrganizacionID = organizacionID);
                        polizaBL.GuardarServicioPI(polizasVenta, tipoPoliza);
                        polizaGenerada = true;
                    }
                }
            }
            if (polizasVenta != null && polizasVenta.Any())
            {
                if (ventasGanado != null && ventasGanado.Any())
                {
                    if (!polizaGenerada)
                    {
                        polizasVenta = poliza.GeneraPoliza(ventasGanado);
                    }
                    pdf = poliza.ImprimePoliza(ventasGanado, polizasVenta);
                }
            }
            return(pdf);
        }
Esempio n. 6
0
 /// <summary>
 /// Obtiene la venta de ganado.
 /// </summary>
 /// <returns></returns>
 public VentaGanadoInfo ObtenerPorFolioTicket(VentaGanadoInfo ventaGanado)
 {
     try
     {
         Logger.Info();
         var             venta  = new VentaGanadoBL();
         VentaGanadoInfo result = venta.ObtenerPorFolioTicket(ventaGanado);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 7
0
 /// <summary>
 /// Obtiene los parametros necesarios para la ejecucion
 /// del procedimiento almacenado VentaGanado_ObtenerPorFolioTicket
 /// </summary>
 /// <param name="ventaGanado"></param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosPorFolioTicket(VentaGanadoInfo ventaGanado)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@FolioTicket", ventaGanado.FolioTicket },
             { "@OrganizacionID", ventaGanado.Lote.OrganizacionID },
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 8
0
 /// <summary>
 /// Obtiene el listado de los datos generales del ticket.
 /// </summary>
 /// <param name="ticket"></param>
 /// <param name="organizacionID"> </param>
 /// <returns></returns>
 internal VentaGanadoInfo ObtenerVentaGanadoPorTicket(TicketInfo Ticket)
 {
     try
     {
         Logger.Info();
         var             venta  = new VentaGanadoDAL();
         VentaGanadoInfo result = venta.ObtenerVentaGanadoPorTicket(Ticket);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 9
0
 internal static Dictionary <string, object> ObtenerParametrosPorPagina(PaginacionInfo pagina,
                                                                        VentaGanadoInfo ventaGanado)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@Descripcion", ventaGanado.NombreCliente },
             { "@OrganizacionID", ventaGanado.Lote.OrganizacionID },
             { "@Activo", ventaGanado.Activo },
             { "@Inicio", pagina.Inicio },
             { "@Limite", pagina.Limite },
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 10
0
        /// <summary>
        /// Metodo que da salida por venta al ganado intensivo cuano se selcciona tipoventa Externo
        /// </summary>
        /// <param name="salidaIndividual"></param>
        /// <returns></returns>
        internal MemoryStream GuardarSalidaGanadoVentaIntensiva(SalidaIndividualInfo salidaIndividual)
        {
            MemoryStream retorno = null;

            try
            {
                PolizaAbstract      poliza;
                IList <PolizaInfo>  polizaSalidaVenta;
                TicketInfo          Ticket            = new TicketInfo();
                CorralInfo          corralInfo        = new CorralInfo();
                CorralBL            corralB           = new CorralBL();
                GanadoIntensivoBL   salidaGanadoCosto = new GanadoIntensivoBL();
                GanadoIntensivoInfo salidaGanadoInfo  = new GanadoIntensivoInfo();


                corralInfo = corralB.ObtenerCorralActivoPorCodigo(salidaIndividual.Organizacion, salidaIndividual.Corral);
                corralInfo.Organizacion = new OrganizacionInfo();
                corralInfo.Organizacion.OrganizacionID = salidaIndividual.Organizacion;
                salidaGanadoInfo = salidaGanadoCosto.ObtenerMuerteGanadoIntensivo(corralInfo);
                salidaGanadoInfo.Organizacion = new OrganizacionInfo();
                salidaGanadoInfo.Organizacion.OrganizacionID = salidaIndividual.Organizacion;
                salidaGanadoInfo.Observaciones = "";



                Ticket.FolioTicket  = salidaIndividual.FolioTicket;
                Ticket.Organizacion = salidaIndividual.Organizacion;

                var ventaGanadoBL = new VentaGanadoBL();

                VentaGanadoInfo salidaPorVentaGanado = ventaGanadoBL.ObtenerVentaGanadoPorTicket(Ticket);

                var      loteBL            = new LoteBL();
                CorralBL corralBl          = new CorralBL();
                LoteInfo lote              = loteBL.ObtenerPorID(salidaPorVentaGanado.LoteID);
                int      iCabezasTotalLote = lote.Cabezas;

                lote.Cabezas -= salidaIndividual.NumeroDeCabezas;
                //lote.Corral = corralBl.ObtenerCorralPorLoteID(lote.LoteID, salidaIndividual.Organizacion);
                //lote.Corral = corralBl.ObtenerCorralPorCodigo()

                using (var scope = new TransactionScope())
                {
                    Logger.Info();
                    var salidaIndividualDAL = new SalidaIndividualDAL();

                    var filtroActualizaCabezas = new FiltroActualizarCabezasLote
                    {
                        LoteIDOrigen          = lote.LoteID,
                        LoteIDDestino         = 0,
                        CabezasProcesadas     = salidaIndividual.NumeroDeCabezas,
                        UsuarioModificacionID = salidaIndividual.Usuario
                    };
                    loteBL.ActualizarCabezasProcesadas(filtroActualizaCabezas);

                    salidaGanadoInfo.ListaGanadoIntensivoCosto = new List <GanadoIntensivoCostoInfo>();
                    foreach (
                        var entradaCosteo in
                        salidaGanadoInfo.EntradaGanadoCosteo.ListaCostoEntrada.OrderBy(id => id.Costo.CostoID))
                    {
                        var costoInt = new GanadoIntensivoCostoInfo();
                        costoInt.Costos = new CostoInfo();
                        costoInt.Costos = entradaCosteo.Costo;
                        costoInt.Costos.ImporteCosto = (entradaCosteo.Importe /
                                                        salidaGanadoInfo.EntradaGanado.CabezasRecibidas) *
                                                       salidaIndividual.NumeroDeCabezas;
                        costoInt.Importe = costoInt.Costos.ImporteCosto;
                        salidaGanadoInfo.ListaGanadoIntensivoCosto.Add(costoInt);
                    }
                    salidaGanadoInfo.TipoMovimientoID = TipoMovimiento.SalidaVentaIntensivo;
                    //salidaIndividualDAL.GuardarSalidaIndividualGanadoVenta(salidaIndividual);
                    salidaGanadoInfo.TotalCabezas                = salidaIndividual.NumeroDeCabezas;
                    salidaGanadoInfo.FolioTicket                 = salidaIndividual.FolioTicket;
                    salidaGanadoInfo.TipoFolio                   = TipoFolio.VentaGanadoIntensivo;
                    salidaGanadoInfo.PesoBruto                   = salidaIndividual.PesoBruto;
                    salidaGanadoInfo.UsuarioCreacionID           = salidaIndividual.Usuario;
                    salidaGanadoInfo.Organizacion.OrganizacionID = salidaIndividual.Organizacion;
                    salidaGanadoInfo.CabezasText                 = salidaIndividual.NumeroDeCabezas.ToString();
                    salidaGanadoCosto.Guardar(salidaGanadoInfo);

                    #region Poliza

                    List <ContenedorVentaGanado> ventasGanado =
                        ventaGanadoBL.ObtenerVentaGanadoIntensivoPorTicketPoliza(Ticket);

                    if (ventasGanado != null && ventasGanado.Any())
                    {
                        poliza = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.SalidaVentaIntensiva);
                        for (int i = 0; i < ventasGanado.Count; i++)
                        {
                            ventasGanado[i].EntradaGandoId = salidaGanadoInfo.EntradaGanado.EntradaGanadoID;
                            ventasGanado[i].OrganizacionId = Ticket.Organizacion;
                            ventasGanado[i].Lote           = lote;
                        }

                        polizaSalidaVenta = poliza.GeneraPoliza(ventasGanado);
                        if (polizaSalidaVenta != null && polizaSalidaVenta.Any())
                        {
                            polizaSalidaVenta.ToList().ForEach(
                                org =>
                            {
                                org.OrganizacionID         = Ticket.Organizacion;
                                org.UsuarioCreacionID      = salidaIndividual.Usuario;
                                org.ArchivoEnviadoServidor = 1;
                            });
                            retorno = poliza.ImprimePoliza(ventasGanado, polizaSalidaVenta);
                            var polizaBL = new PolizaBL();
                            polizaBL.GuardarServicioPI(polizaSalidaVenta, TipoPoliza.SalidaVentaIntensiva);
                        }
                    }

                    // Genera el xml y lo guarda en la ruta especificada en la configuración
                    var facturaBl = new FacturaBL();
                    facturaBl.GenerarDatosFacturaVentaDeGanadoIntensivo(Ticket.FolioTicket, Ticket.Organizacion);

                    #endregion Poliza

                    scope.Complete();
                }

                return(retorno);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Esempio n. 11
0
        /// <summary>
        /// Metodo que le da salida por venta al ganado
        /// </summary>
        /// <param name="salidaIndividual"></param>
        /// <returns></returns>
        internal MemoryStream GuardarSalidaIndividualGanadoVenta(SalidaIndividualInfo salidaIndividual)
        {
            MemoryStream retorno = null;

            try
            {
                PolizaAbstract     poliza;
                IList <PolizaInfo> polizaSalidaVenta;
                TicketInfo         Ticket = new TicketInfo();

                Ticket.FolioTicket  = salidaIndividual.FolioTicket;
                Ticket.Organizacion = salidaIndividual.Organizacion;
                Ticket.TipoVenta    = salidaIndividual.TipoVenta;

                var ventaGanadoBL = new VentaGanadoBL();

                VentaGanadoInfo salidaPorVentaGanado = ventaGanadoBL.ObtenerVentaGanadoPorTicket(Ticket);


                var      loteBL = new LoteBL();
                LoteInfo lote   = loteBL.ObtenerPorID(salidaPorVentaGanado.LoteID);
                lote.Cabezas -= salidaIndividual.NumeroDeCabezas;

                AnimalBL animalBl = new AnimalBL();

                using (var scope = new TransactionScope())
                {
                    Logger.Info();
                    var salidaIndividualDAL = new SalidaIndividualDAL();

                    VentaGanadoDetalleBL          ventaGanadoDetalleBl    = new VentaGanadoDetalleBL();
                    List <VentaGanadoDetalleInfo> listaVentaGanadoDetalle = ventaGanadoDetalleBl.ObtenerVentaGanadoPorTicket(salidaPorVentaGanado.VentaGanadoID);
                    List <AnimalCostoInfo>        animalCosto             = new List <AnimalCostoInfo>();
                    AnimalCostoBL     animalCostoBl    = new AnimalCostoBL();
                    List <AnimalInfo> animalesConsulta = new List <AnimalInfo>();
                    List <AnimalInfo> animalesProcesar = new List <AnimalInfo>();
                    foreach (VentaGanadoDetalleInfo ventaGanado in listaVentaGanadoDetalle)
                    {
                        animalesConsulta   = new List <AnimalInfo>();
                        ventaGanado.Animal = animalBl.ObtenerAnimalPorArete(ventaGanado.Arete, Ticket.Organizacion);

                        if (ventaGanado.Animal == null)
                        {
                            ventaGanado.Animal = animalBl.ObtenerAnimalPorAreteTestigo(ventaGanado.AreteMetalico, Ticket.Organizacion);
                        }
                        animalesConsulta.Add(ventaGanado.Animal);
                        animalCosto = animalCostoBl.ObtenerCostosAnimal(animalesConsulta);

                        if (!animalCosto.Any(registro => registro.CostoID == Costo.CostoGanado.GetHashCode()))
                        {
                            animalesProcesar.Add(ventaGanado.Animal);
                        }
                    }

                    if (animalesProcesar != null && animalesProcesar.Count > 0)
                    {
                        animalBl.ProcesoGenerarCostos(animalesProcesar);
                    }

                    salidaIndividualDAL.GuardarSalidaIndividualGanadoVenta(salidaIndividual);
                    salidaIndividualDAL.GuardarCostosHistoricos(salidaIndividual);
                    salidaIndividualDAL.GuardarConsumoHistoricos(salidaIndividual);
                    salidaIndividualDAL.GuardarAnimalHistoricos(salidaIndividual);

                    var filtroActualizaCabezas = new FiltroActualizarCabezasLote
                    {
                        LoteIDOrigen          = lote.LoteID,
                        LoteIDDestino         = 0,
                        CabezasProcesadas     = salidaIndividual.NumeroDeCabezas,
                        UsuarioModificacionID = salidaIndividual.Usuario
                    };
                    loteBL.ActualizarCabezasProcesadas(filtroActualizaCabezas);

                    //loteBL.ActualizaNoCabezasEnLote(lote, lote);

                    #region Poliza

                    List <ContenedorVentaGanado> ventasGanado =
                        ventaGanadoBL.ObtenerVentaGanadoPorTicketPoliza(Ticket.FolioTicket, Ticket.Organizacion);


                    if (ventasGanado != null && ventasGanado.Any())
                    {
                        poliza            = FabricaPoliza.ObtenerInstancia().ObtenerTipoPoliza(TipoPoliza.SalidaVenta);
                        polizaSalidaVenta = poliza.GeneraPoliza(ventasGanado);
                        if (polizaSalidaVenta != null && polizaSalidaVenta.Any())
                        {
                            polizaSalidaVenta.ToList().ForEach(
                                org =>
                            {
                                org.OrganizacionID         = Ticket.Organizacion;
                                org.UsuarioCreacionID      = salidaIndividual.Usuario;
                                org.ArchivoEnviadoServidor = 1;
                            });
                            retorno = poliza.ImprimePoliza(ventasGanado, polizaSalidaVenta);
                            var polizaBL = new PolizaBL();
                            polizaBL.GuardarServicioPI(polizaSalidaVenta, TipoPoliza.SalidaVenta);
                        }
                    }

                    // Genera el xml y lo guarda en la ruta especificada en la configuración
                    var facturaBl = new FacturaBL();
                    facturaBl.GenerarDatosFacturaVentaDeGanado(Ticket.FolioTicket, Ticket.Organizacion);

                    #endregion Poliza

                    scope.Complete();
                }
                return(retorno);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Esempio n. 12
0
        /// <summary>
        /// Método con el cual se valida el folio del ticket ingresado
        /// </summary>
        private bool ValidarFolioTicket()
        {
            if (txtFolioTicket.Text.Trim() != "")
            {
                var        venta        = new VentaGanadoPL();
                var        ventadetalle = new VentaGanadoDetallePL();
                var        usuarioPl    = new UsuarioPL();
                TicketInfo Ticket       = new TicketInfo();

                Ticket.FolioTicket = int.Parse(txtFolioTicket.Text.Trim());
                if ((string)cmbTipo.SelectedItem == Properties.Resources.SalidaIndividualDeGanado_cmbTipoExterno)
                {
                    Ticket.TipoVenta = TipoVentaEnum.Externo;
                }
                else
                {
                    Ticket.TipoVenta = TipoVentaEnum.Propio;
                }

                listaAretes.Items.Clear();
                skAyudaCliente.LimpiarCampos();

                Ticket.Organizacion = AuxConfiguracion.ObtenerOrganizacionUsuario();
                VentaGanadoInfo ganado = venta.ObtenerVentaGanadoPorTicket(Ticket);
                if (ganado != null)
                {
                    UsuarioInfo usuarioSubioGanado = usuarioPl.ObtenerPorID(ganado.UsuarioModificacionID);
                    var         clientePl          = new ClientePL();
                    var         cliente            = new ClienteInfo {
                        ClienteID = ganado.ClienteID, CodigoSAP = ganado.CodigoSAP
                    };
                    cliente = clientePl.ObtenerClientePorCliente(cliente);
                    skAyudaCliente.Clave       = cliente.CodigoSAP;
                    skAyudaCliente.Descripcion = cliente.Descripcion;
                    skAyudaCliente.Info        = cliente;
                    txtCorral.Text             = ganado.CodigoCorral;

                    var pesoTara = decimal.Parse(ganado.PesoTara.ToString(CultureInfo.InvariantCulture).Replace(".00", "").Replace(",00", ""));
                    txtPesoTara.Text = pesoTara.ToString(CultureInfo.CurrentCulture);

                    txtPesoTara.IsEnabled    = false;
                    txtFolioTicket.IsEnabled = false;
                    if (!basculaConectada)
                    {
                        txtPesoBruto.IsEnabled = true;
                    }
                    skAyudaCliente.IsEnabled = false;
                    _pesoTomado = false;
                    ObtenerPesoBascula();

                    List <VentaGanadoDetalleInfo> detalle = ventadetalle.ObtenerVentaGanadoPorTicket(ganado.VentaGanadoID);
                    if (Ticket.TipoVenta == TipoVentaEnum.Propio)
                    {
                        if (detalle != null)
                        {
                            if (detalle.Count > 0)
                            {
                                lblTotalCabezas.IsEnabled        = true;
                                lblNumeroTotalCabezas.IsEnabled  = true;
                                lblNumeroTotalCabezas.Content    = detalle.Count.ToString();
                                lblNumeroTotalCabezas.Visibility = Visibility.Visible;
                                lblTotalCabezas.Visibility       = Visibility.Visible;
                            }

                            listaAretes.Visibility = Visibility.Visible;
                            cmbTipo.IsEnabled      = false;
                            cmbTipo.SelectedIndex  = 0;

                            foreach (VentaGanadoDetalleInfo ventaGanadoDetalleInfo in detalle)
                            {
                                listaAretes.Items.Add(ventaGanadoDetalleInfo);
                            }
                            nombreUsuarioSubioGanado = usuarioSubioGanado.Nombre;
                        }
                        else
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.SalidaIndividualGanado_MensajeTicketNoTieneAretes,
                                              MessageBoxButton.OK, MessageImage.Warning);
                            Limpiar();

                            return(false);
                        }
                    }
                    else
                    {
                        if (ganado.TotalCabezas > 0)
                        {
                            cmbTipo.SelectedIndex  = 1;
                            cmbTipo.IsEnabled      = false;
                            listaAretes.Visibility = Visibility.Hidden;

                            lblTotalCabezas.IsEnabled        = true;
                            lblNumeroTotalCabezas.IsEnabled  = true;
                            lblNumeroTotalCabezas.Content    = ganado.TotalCabezas.ToString();
                            lblNumeroTotalCabezas.Visibility = Visibility.Visible;
                            lblTotalCabezas.Visibility       = Visibility.Visible;

                            nombreUsuarioSubioGanado = usuarioSubioGanado.Nombre;
                        }
                        else
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.SalidaIndividualGanado_MensajeTicketNoTieneAretes,
                                              MessageBoxButton.OK, MessageImage.Warning);
                            Limpiar();

                            return(false);
                        }
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.SalidaIndividualGanado_MensajeFolioTicketInvalido,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    Limpiar();
                    return(false);
                }
            }
            return(true);
        }
Esempio n. 13
0
 internal ResultadoInfo <VentaGanadoInfo> ObtenerVentaGanadoPorPagina(PaginacionInfo pagina, VentaGanadoInfo ventaGanado)
 {
     try
     {
         Dictionary <string, object> parameters = AuxVentaGanado.ObtenerParametrosPorPagina(pagina, ventaGanado);
         DataSet ds = Retrieve("VentaGanado_ObtenerPorPagina", parameters);
         ResultadoInfo <VentaGanadoInfo> venta = null;
         if (ValidateDataSet(ds))
         {
             venta = MapVentaGanadoDAL.ObtenerVentaGanadoPorPagina(ds);
         }
         return(venta);
     }
     catch (SqlException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (DataException ex)
     {
         Logger.Error(ex);
         throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 14
0
 /// <summary>
 /// Obtiene el listado de los datos de la venta de ganado paginado.
 /// </summary>
 /// <returns></returns>
 public ResultadoInfo <VentaGanadoInfo> ObtenerVentaGanadoPorPagina(PaginacionInfo pagina, VentaGanadoInfo ventaGanado)
 {
     try
     {
         Logger.Info();
         var venta = new VentaGanadoBL();
         ResultadoInfo <VentaGanadoInfo> result = venta.ObtenerVentaGanadoPorPagina(pagina, ventaGanado);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        public static int GuardarVentaDetalle(string codigoCorral, int causaPrecioId, VentaGanadoInfo ventaGanado, List <VentaGanadoDetalleInfo> ventaGanadoDetalle, int tipoVenta, int totalCabezas)
        {
            int valorRetorno = 0;
            var datosVenta   = new GrupoVentaGanadoInfo();

            try
            {
                var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                datosVenta.OrganizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                datosVenta.UsuarioID      = seguridad.Usuario.UsuarioID;
                datosVenta.TotalCabezas   = totalCabezas;
                datosVenta.TipoVenta      = (TipoVentaEnum)tipoVenta;
                datosVenta.CausaPrecioID  = causaPrecioId;
                //informacion del la organzacion y usuario
                if (seguridad != null)
                {
                    var ventaGanadoDetallePl = new VentaGanadoDetallePL();
                    ventaGanado.UsuarioModificacionID = datosVenta.UsuarioID;
                    for (var i = 0; i < ventaGanadoDetalle.Count; i++)
                    {
                        ventaGanadoDetalle[i].FotoVenta = TipoFoto.Venta.ToString() + '/' + ventaGanadoDetalle[i].FotoVenta;
                    }
                    datosVenta.CodigoCorral        = codigoCorral;
                    datosVenta.VentaGanado         = ventaGanado;
                    datosVenta.VentaGandadoDetalle = ventaGanadoDetalle;
                    valorRetorno = ventaGanadoDetallePl.GuardarDetalle(datosVenta);
                }
            }
            catch (Exception ex)
            {
                valorRetorno = -1;
            }

            return(valorRetorno);
        }