/// <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); } }
/// <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); }
/// <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; } }
/// <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; } }
/// <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; } }
/// <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); } }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }