Exemplo n.º 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);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Obtiene el lote sacrificio a cancelar la factura
        /// </summary>
        /// <returns></returns>
        internal LoteSacrificioInfo ObtenerLoteSacrificioACancelarLucero(int organizacionID)
        {
            LoteSacrificioInfo result = null;

            try
            {
                Logger.Info();
                var parametros = new Dictionary <string, object> {
                    { "@OrganizacionID", organizacionID }
                };
                DataSet ds = Retrieve("LoteSacrificio_ObtenerDatosFacturasACancelarLucero", parametros);
                if (ValidateDataSet(ds))
                {
                    result = MapLoteSacrificioDAL.ObtenerLoteSacrificioACancelar(ds);
                }
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Exemplo n.º 3
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 = null;

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters = AuxLoteSacrificioDAL.ObtenerParametroObtenerLoteSacrificio(fecha, organizacionID);
                DataSet ds = Retrieve("LoteSacrificioLucero_ObtenerDatosFolioSacrificioPorFecha", parameters);
                if (ValidateDataSet(ds))
                {
                    result = MapLoteSacrificioDAL.ObtenerLoteSacrificio(ds);
                }
            }
            catch (ExcepcionServicio ex)
            {
                Logger.Error(ex);
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
            return(result);
        }
Exemplo n.º 4
0
        internal List <FacturaInfo> ObtenerDatosFacturaPorOrdenSacrificioLucero(LoteSacrificioInfo loteSacrificioInfo, List <PolizaSacrificioModel> lotesSacrificioFolios)
        {
            List <FacturaInfo> factura = null;

            try
            {
                Dictionary <string, object> parameters =
                    AuxLoteSacrificioDAL.ObtenerParametrosObtenerDatosFacturaPorOrdenSacrificioLucero(
                        loteSacrificioInfo, lotesSacrificioFolios);
                DataSet ds = Retrieve("LoteSacrificio_ObtenerDatosFacturaPorOrdenSacrificioLucero", parameters);
                if (ValidateDataSet(ds))
                {
                    factura = MapLoteSacrificioDAL.ObtenerDatosFacturaPorOrdenSacrificio(ds);
                }
            }
            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);
            }
            return(factura);
        }
Exemplo n.º 5
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;
            }
        }
Exemplo n.º 6
0
 /// <summary>
 /// Actualiza el lote sacrificio seleccionado
 /// </summary>
 /// <param name="loteSacrificioInfo"></param>
 /// <param name="ganadoPropio"></param>
 public void ActualizarLoteSacrificio(LoteSacrificioInfo loteSacrificioInfo, bool ganadoPropio)
 {
     try
     {
         Logger.Info();
         var ordenSacrificioBl = new LoteSacrificioBL();
         ordenSacrificioBl.ActualizarLoteSacrificio(loteSacrificioInfo, ganadoPropio);
     }
     catch (ExcepcionServicio ex)
     {
         Logger.Error(ex);
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
Exemplo n.º 7
0
 /// <summary>
 /// Actualiza el lote sacrificio seleccionado
 /// </summary>
 /// <param name="loteSacrificioInfo"></param>
 internal void ActualizarLoteSacrificio(LoteSacrificioInfo loteSacrificioInfo)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxLoteSacrificioDAL.ObtenerParametroActualizarLoteSacrificio(loteSacrificioInfo);
         Update("LoteSacrificio_ActualizarFacturacion", parameters);
     }
     catch (ExcepcionServicio ex)
     {
         Logger.Error(ex);
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
Exemplo n.º 8
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);
            }
        }
Exemplo n.º 9
0
 internal static Dictionary <string, object> ObtenerParametroActualizarLoteSacrificioLucero(LoteSacrificioInfo loteSacrificioInfo)
 {
     try
     {
         var parametros =
             new Dictionary <string, object>
         {
             { "@OrganizacionId", loteSacrificioInfo.OrganizacionId },
             { "@ClienteId", loteSacrificioInfo.Cliente.ClienteID },
             { "@Observaciones", loteSacrificioInfo.Observaciones },
             { "@UsuarioModificacionId", loteSacrificioInfo.UsuarioModificacionId },
             { "@Fecha", loteSacrificioInfo.Fecha },
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
Exemplo n.º 10
0
 /// <summary>
 /// Obtiene los parametros necesarios para ejecutar
 /// el procedimiento que regresa los datos de
 /// facturacion de lucero
 /// </summary>
 internal static Dictionary <string, object> ObtenerParametrosObtenerDatosFacturaPorOrdenSacrificioLucero(LoteSacrificioInfo loteSacrificioInfo, List <PolizaSacrificioModel> lotesSacrificioFolios)
 {
     try
     {
         Logger.Info();
         var xml = new XElement("ROOT",
                                from detalle in lotesSacrificioFolios
                                select new XElement("InterfaceDetalleID",
                                                    new XElement("Id", detalle.InterfaceSalidaTraspasoDetalleID)
                                                    ));
         var parametros =
             new Dictionary <string, object>
         {
             { "@OrganizacionId", loteSacrificioInfo.OrganizacionId },
             { "@XmlInterface", xml.ToString() },
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }
Exemplo n.º 11
0
 /// <summary>
 /// Obtiene los parametros para obtener los datos de la factura por orden sacrificio
 /// </summary>
 /// <param name="loteSacrificioInfo"></param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosObtenerDatosFacturaPorOrdenSacrificio(LoteSacrificioInfo loteSacrificioInfo)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@OrdenSacrificioId", loteSacrificioInfo.OrdenSacrificioId }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw;
     }
 }