Пример #1
0
 /// <summary>
 /// Genera el xml de la factura de sacrificio
 /// </summary>
 /// <param name="loteSacrificioInfo"></param>
 /// <param name="lotesSacrificioFolios"> </param>
 public void GenerarDatosFacturaSacrificioLucero(LoteSacrificioInfo loteSacrificioInfo
                                                 , List<PolizaSacrificioModel> lotesSacrificioFolios)
 {
     try
     {
         Logger.Info();
         var loteSacrificioDAL = new LoteSacrificioDAL();
         List<FacturaInfo> listaFactura =
             loteSacrificioDAL.ObtenerDatosFacturaPorOrdenSacrificioLucero(loteSacrificioInfo,
                                                                           lotesSacrificioFolios);
         if (listaFactura != null)
         {
             foreach (var facturaInfo in listaFactura)
             {
                 var factura = ObtenerDatosDeConfiguracionSinSerieFolio(facturaInfo,
                     loteSacrificioInfo.OrganizacionId);
                 GenerarFactura(factura, loteSacrificioInfo.OrganizacionId);
             }
         }
     }
     catch (ExcepcionServicio)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Пример #2
0
        /// <summary>
        /// Obtiene las facturas generadas a los lotes de sacrificio
        /// </summary>
        /// <param name="organizacionID"></param>
        /// <returns></returns>
        internal List <LoteSacrificioInfo> ObtenerFacturasPorOrdenSacrificioACancelarLucero(int organizacionID)
        {
            List <LoteSacrificioInfo> result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerFacturasPorOrdenSacrificioACancelarLucero(organizacionID);
                result = result.GroupBy(x => new { x.Fecha })
                         .Select(dato => new LoteSacrificioInfo
                {
                    FolioFactura = dato.Select(org => org.FolioFactura).FirstOrDefault()
                }).ToList();
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Пример #3
0
        /// <summary>
        /// Actualiza el lote sacrificio seleccionado
        /// </summary>
        /// <param name="ganadoPropio"></param>
        /// <param name="loteSacrificioInfo"></param>
        internal void ActualizarLoteSacrificio(LoteSacrificioInfo loteSacrificioInfo, bool ganadoPropio)
        {
            try
            {
                Logger.Info();
                var lotesSacrificioFolios = new List <PolizaSacrificioModel>();
                //var ganaderaTraspasaGanado = false;
                using (var scope = new TransactionScope())
                {
                    //var parametroGeneralBL = new ParametroGeneralBL();
                    //ParametroGeneralInfo parametroGanaderaTraspasa =
                    //    parametroGeneralBL.ObtenerPorClaveParametro(ParametrosEnum.GANADERATRASPASAGANADO.ToString());
                    //if (parametroGanaderaTraspasa != null)
                    //{
                    //    ganaderaTraspasaGanado =
                    //        parametroGanaderaTraspasa.Valor.Split('|').ToList().Any(
                    //            dato => Convert.ToInt32(dato) == loteSacrificioInfo.OrganizacionId);
                    //}
                    if (!ganadoPropio)
                    {
                        lotesSacrificioFolios = ObtenerDatosSacrificioLucero(loteSacrificioInfo.OrganizacionId,
                                                                             loteSacrificioInfo.Fecha);
                    }
                    var loteSacrificioDal = new LoteSacrificioDAL();
                    if (!ganadoPropio)
                    {
                        loteSacrificioDal.ActualizarLoteSacrificioLucero(loteSacrificioInfo);
                    }
                    else
                    {
                        loteSacrificioDal.ActualizarLoteSacrificio(loteSacrificioInfo);
                    }

                    if (loteSacrificioInfo.Cliente.ClienteID != 0)
                    {
                        // Genera el xml y lo guarda en la ruta especificada en la configuración
                        var facturaBl = new FacturaBL();
                        // funcion no regresa valor pero entra al catch de ExcepcionServicio si alguna validacion no la cumple.
                        facturaBl.ValidarDatosDeConfiguracion(loteSacrificioInfo.OrganizacionId);
                        if (ganadoPropio)
                        {
                            facturaBl.GenerarDatosFacturaSacrificio(loteSacrificioInfo);
                        }
                    }

                    scope.Complete();
                }
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
Пример #4
0
 /// <summary>
 /// Actualiza bandera de poliza generada
 /// </summary>
 /// <param name="lotesSacrificio"></param>
 internal void ActualizarPolizaGenerada(List <PolizaSacrificioModel> lotesSacrificio)
 {
     try
     {
         Logger.Info();
         var loteSacrificioDal = new LoteSacrificioDAL();
         loteSacrificioDal.ActualizarPolizaGenerada(lotesSacrificio);
     }
     catch (ExcepcionServicio ex)
     {
         Logger.Error(ex);
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
Пример #5
0
 /// <summary>
 /// Actualiza los importes de Canal, Piel, Viscerea
 /// </summary>
 /// <param name="lotesSacrificio"></param>
 internal void ActualizarImportesSacrificioLucero(List <PolizaSacrificioModel> lotesSacrificio)
 {
     try
     {
         Logger.Info();
         var loteSacrificioDAL = new LoteSacrificioDAL();
         loteSacrificioDAL.ActualizarImportesSacrificioLucero(lotesSacrificio);
     }
     catch (ExcepcionServicio ex)
     {
         Logger.Error(ex);
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
Пример #6
0
        /// <summary>
        /// Genera el xml de la factura de sacrificio
        /// </summary>
        /// <param name="loteSacrificioInfo"></param>
        internal void GenerarDatosFacturaSacrificio(LoteSacrificioInfo loteSacrificioInfo)
        {
            try
            {
                Logger.Info();
                var loteSacrificioDAL = new LoteSacrificioDAL();
                var listaFactura = loteSacrificioDAL.ObtenerDatosFacturaPorOrdenSacrificio(loteSacrificioInfo);
                List<FacturaInfo> facturas = new List<FacturaInfo>();
                FacturaInfo facturaFinal = new FacturaInfo();

                if (listaFactura != null)
                {
                    foreach (var facturaInfo in listaFactura)
                    {
                        facturas.Add(facturaInfo);
                    }
                    facturaFinal.Serie = listaFactura.FirstOrDefault().Serie;
                    facturaFinal.TrxNumber = listaFactura.FirstOrDefault().TrxNumber;
                    facturaFinal.FechaFactura = listaFactura.FirstOrDefault().FechaFactura;
                    facturaFinal.DatosCliente = listaFactura.FirstOrDefault().DatosCliente;
                    facturaFinal.DatosDeEnvio = listaFactura.FirstOrDefault().DatosDeEnvio;
                    facturaFinal = ObtenerDatosDeConfiguracionSinSerieFolio(facturaFinal,
                            loteSacrificioInfo.OrganizacionId);

                    facturaFinal.ItemsFactura = AgrupaFacturaTotales(facturas);
                    GenerarFactura(facturaFinal, loteSacrificioInfo.OrganizacionId);

                }
            }
            catch (ExcepcionServicio)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Пример #7
0
        /// <summary>
        /// Obtiene los datos para cancelar
        /// las polizas de sacrificio por fecha
        /// </summary>
        /// <param name="fecha"></param>
        /// <returns></returns>
        internal IEnumerable <PolizaSacrificioModel> ObtenerDatosPolizaSacrificioCanceladas(DateTime fecha)
        {
            IEnumerable <PolizaSacrificioModel> result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerDatosPolizaSacrificioCanceladas(fecha);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Пример #8
0
        /// <summary>
        /// Obtiene los datos para conciliacion
        /// de sacrificios de ganado por traspaso
        /// </summary>
        /// <param name="interfaceSalidaTraspasos"></param>
        /// <returns></returns>
        internal List <PolizaSacrificioModel> ObtenerDatosConciliacionSacrificioTraspasoGanado(List <InterfaceSalidaTraspasoInfo> interfaceSalidaTraspasos)
        {
            List <PolizaSacrificioModel> result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerDatosConciliacionSacrificioTraspasoGanado(interfaceSalidaTraspasos);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Пример #9
0
        /// <summary>
        /// Obtiene los datos del lote sacrificio por fecha
        /// </summary>
        /// <param name="fecha"></param>
        /// <param name="organizacionID"> </param>
        /// <returns></returns>
        internal LoteSacrificioInfo ObtenerLoteSacrificioLucero(DateTime fecha, int organizacionID)
        {
            LoteSacrificioInfo result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerLoteSacrificioLucero(fecha, organizacionID);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Пример #10
0
        /// <summary>
        /// Obtiene los datos en caso de que se sacrifico con anterioridad
        /// de ese lote de manera incompleta
        /// </summary>
        /// <param name="lotesSacrificioFolios"></param>
        /// <returns></returns>
        internal List <PolizaSacrificioModel> ObtenerSacrificiosAnteriores(List <PolizaSacrificioModel> lotesSacrificioFolios)
        {
            List <PolizaSacrificioModel> result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerSacrificiosAnteriores(lotesSacrificioFolios);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Пример #11
0
        /// <summary>
        /// Obtiene una lista con
        /// los sacrificios generados
        /// </summary>
        /// <param name="organizacionID"></param>
        /// <param name="fechaInicial"></param>
        /// <param name="fechaFinal"></param>
        /// <returns></returns>
        internal IEnumerable <PolizaSacrificioModel> ObtenerPolizasSacrificioConciliacion(int organizacionID, DateTime fechaInicial, DateTime fechaFinal)
        {
            IEnumerable <PolizaSacrificioModel> result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerPolizasSacrificioConciliacion(organizacionID, fechaInicial, fechaFinal);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Пример #12
0
        /// <summary>
        /// Obtiene los datos de facturacion para generar la polizas
        /// </summary>
        /// <returns></returns>
        internal List <PolizaSacrificioModel> ObtenerDatosSacrificioLucero(int organizacionID, DateTime fecha)
        {
            List <PolizaSacrificioModel> result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerDatosSacrificioLucero(organizacionID, fecha);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Пример #13
0
        /// <summary>
        /// Obtiene los datos de facturacion para generar la polizas
        /// </summary>
        /// <param name="ordenSacrificioId"></param>
        /// <returns></returns>
        internal List <PolizaSacrificioModel> ObtenerDatosFacturaSacrificio(int ordenSacrificioId)
        {
            List <PolizaSacrificioModel> result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerDatosFacturaSacrificio(ordenSacrificioId);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Пример #14
0
        /// <summary>
        /// Obtiene el lote sacrificio a cancelar la factura
        /// </summary>
        /// <returns></returns>
        internal LoteSacrificioInfo ObtenerLoteSacrificioACancelar(int organizacionID)
        {
            LoteSacrificioInfo result;

            try
            {
                Logger.Info();
                var loteSacrificioDal = new LoteSacrificioDAL();
                result = loteSacrificioDal.ObtenerLoteSacrificioACancelar(organizacionID);
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }