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