/// <summary> /// Método que obtiene un registro /// </summary> /// <param name="ds"></param> /// <returns></returns> public static CamionRepartoInfo ObtenerPorID(DataSet ds) { try { Logger.Info(); DataTable dt = ds.Tables[ConstantesDAL.DtDatos]; CamionRepartoInfo entidad = (from info in dt.AsEnumerable() select new CamionRepartoInfo { CamionRepartoID = info.Field <int>("CamionRepartoID"), Organizacion = new OrganizacionInfo { OrganizacionID = info.Field <int>("OrganizacionID"), Descripcion = info.Field <string>("Organizacion") }, CentroCosto = new CentroCostoInfo { CentroCostoID = info.Field <int>("CentroCostoID"), Descripcion = info.Field <string>("CentroCosto") }, NumeroEconomico = info.Field <string>("NumeroEconomico"), Activo = info.Field <bool>("Activo").BoolAEnum(), }).First(); return(entidad); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Crear un registro de CamionReparto /// </summary> /// <param name="info">Valores de la entidad que será creada</param> public int Crear(CamionRepartoInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxCamionRepartoDAL.ObtenerParametrosCrear(info); int result = Create("CamionReparto_Crear", parameters); return(result); } 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); } }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new CamionRepartoInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), Organizacion = new OrganizacionInfo { TipoOrganizacion = new TipoOrganizacionInfo { TipoProceso = new TipoProcesoInfo() }, Iva = new IvaInfo { CuentaPagar = new CuentaInfo { TipoCuenta = new TipoCuentaInfo() }, CuentaRecuperar = new CuentaInfo { TipoCuenta = new TipoCuentaInfo() } } } }; }
/// <summary> /// Metodo para Guardar/Modificar una entidad CamionReparto /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(CamionRepartoInfo info) { try { Logger.Info(); var id = 0; if (info.CamionRepartoID > 0) { id = da.Actualizar <CamionRepartoInfo>(info); camionRepartoAccessor.ActualizaFechaModificacion(info.CamionRepartoID); } else { id = da.Insertar <CamionRepartoInfo>(info); } return(id); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un registro de CamionReparto /// </summary> /// <param name="descripcion">Descripción de la CamionReparto</param> /// <returns></returns> public CamionRepartoInfo ObtenerPorDescripcion(string descripcion) { try { Logger.Info(); Dictionary <string, object> parameters = AuxCamionRepartoDAL.ObtenerParametrosPorDescripcion(descripcion); DataSet ds = Retrieve("CamionReparto_ObtenerPorDescripcion", parameters); CamionRepartoInfo result = null; if (ValidateDataSet(ds)) { result = MapCamionRepartoDAL.ObtenerPorDescripcion(ds); } return(result); } 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); } }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new CamionRepartoInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), Organizacion = new OrganizacionInfo(), CentroCosto = new CentroCostoInfo() }; skAyudaOrganizacion.AsignarFoco(); }
/// <summary> /// Metodo que valida los datos para guardar /// </summary> /// <returns></returns> private bool ValidaGuardar() { bool resultado = true; string mensaje = string.Empty; try { if (Contexto.Organizacion == null || Contexto.Organizacion.OrganizacionID == 0) { resultado = false; mensaje = Properties.Resources.CamionRepartoEdicion_MsgOrganizacionIDRequerida; skAyudaOrganizacion.AsignarFoco(); } else if (string.IsNullOrWhiteSpace(Contexto.NumeroEconomico)) { resultado = false; mensaje = Properties.Resources.CamionRepartoEdicion_MsgNumeroEconomicoRequerida; txtNumeroEconomico.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.CamionRepartoEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { int camionRepartoId = Contexto.CamionRepartoID; string descripcion = Contexto.NumeroEconomico; int organizacionID = Contexto.Organizacion.OrganizacionID; using (var camionRepartoBL = new CamionRepartoBL()) { CamionRepartoInfo camionReparto = camionRepartoBL.ObtenerPorDescripcion(descripcion, organizacionID); if (camionReparto != null && (camionRepartoId == 0 || camionRepartoId != camionReparto.CamionRepartoID)) { resultado = false; mensaje = string.Format(Properties.Resources.CamionRepartoEdicion_MsgDescripcionExistente, camionReparto.CamionRepartoID); } } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
/// <summary> /// Evento que se ejecuta mientras se esta cerrando la ventana /// </summary> /// <param name="e"></param> protected override void OnClosing(CancelEventArgs e) { if (confirmaSalir) { MessageBoxResult result = SkMessageBox.Show(this, Properties.Resources.Msg_CerrarSinGuardar, MessageBoxButton.YesNo, MessageImage.Question); if (result == MessageBoxResult.Yes) { Contexto = null; } else { e.Cancel = true; } } }
/// <summary> /// Metodo para Guardar/Modificar una entidad CamionReparto /// </summary> /// <param name="info"></param> /// <returns></returns> public int Guardar(CamionRepartoInfo info) { try { Logger.Info(); return(camionRepartoDAL.Guardar(info)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad de CamionReparto por su Id /// </summary> /// <param name="camionReparto">Obtiene una entidad CamionReparto por su Id</param> /// <returns></returns> public CamionRepartoInfo ObtenerPorID(CamionRepartoInfo camionReparto) { try { Logger.Info(); return(camionRepartoDAL.ObtenerTodos().Where(e => e.CamionRepartoID == camionReparto.CamionRepartoID).FirstOrDefault()); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
public static CamionRepartoInfo ObtenerPorNumeroEconomico(string numeroEconomico) { try { using (var camionRepartoBL = new CamionRepartoBL()) { var seguridad = (SeguridadInfo)ObtenerSeguridad(); CamionRepartoInfo camionReparto = camionRepartoBL.ObtenerPorNumeroEconomico(numeroEconomico, seguridad.Usuario.Organizacion.OrganizacionID); return(camionReparto); } } catch (Exception ex) { Logger.Error(ex); throw; } }
public CamionRepartoInfo ObtenerCamionRepartoPorID(CamionRepartoInfo camionReparto) { try { Logger.Info(); return(da.Tabla <CamionRepartoInfo>().FirstOrDefault(camion => camion.OrganizacionID == camionReparto.Organizacion.OrganizacionID && camion.Activo == EstatusEnum.Activo && camion.CamionRepartoID == camionReparto.CamionRepartoID)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
internal CamionRepartoInfo ObtenerCamionRepartoPorID(CamionRepartoInfo camionReparto) { CamionRepartoInfo info; try { Logger.Info(); var camionRepartoDAL = new CamionRepartoDAL(); info = camionRepartoDAL.ObtenerCamionRepartoPorID(camionReparto); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(info); }
/// <summary> /// Obtiene parametros para crear /// </summary> /// <param name="info">Valores de la entidad</param> /// <returns></returns> public static Dictionary <string, object> ObtenerParametrosCrear(CamionRepartoInfo info) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@OrganizacionID", info.Organizacion.OrganizacionID }, { "@CentroCostoID", info.CentroCosto.CentroCostoID }, { "@NumeroEconomico", info.NumeroEconomico }, { "@Activo", info.Activo }, { "@UsuarioCreacionID", info.UsuarioCreacionID }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene camion reparto por su Id /// </summary> /// <returns> </returns> public CamionRepartoInfo ObtenerCamionRepartoPorID(CamionRepartoInfo camionReparto) { CamionRepartoInfo info; // var organizacionID = AuxConfiguracion.ObtenerOrganizacionUsuario(); try { Logger.Info(); var camionRepartoBL = new CamionRepartoBL(); info = camionRepartoBL.ObtenerCamionRepartoPorID(camionReparto); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(info); }
/// <summary> /// Metodo para actualizar un registro de CamionReparto /// </summary> /// <param name="info">Valores de la entidad que se actualizarán</param> public void Actualizar(CamionRepartoInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxCamionRepartoDAL.ObtenerParametrosActualizar(info); Update("CamionReparto_Actualizar", parameters); } 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); } }
public static Dictionary <string, object> ObtenerParametroPorID(CamionRepartoInfo camionReparto) { throw new NotImplementedException(); }
/// <summary> /// Obtiene parametros para obtener lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public static Dictionary <string, object> ObtenerParametrosPorPagina(PaginacionInfo pagina, CamionRepartoInfo filtro) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@CamionRepartoID", filtro.CamionRepartoID }, { "@Activo", filtro.Activo }, { "@Inicio", pagina.Inicio }, { "@Limite", pagina.Limite } }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Carga el archivo data link en la orden de reparto /// </summary> /// <param name="validacionDatalink"></param> /// <param name="usuario"></param> /// <returns></returns> internal ResultadoOperacion CargarArchivoDatalink(ValidacionDataLink validacionDatalink, UsuarioInfo usuario) { var validar = new DataLinkInfo(); var resultado = new ResultadoOperacion { Resultado = true }; try { Logger.Info(); var corralBl = new CorralBL(); var loteBl = new LoteBL(); var repartoBl = new RepartoBL(); using (var camionRepartoBl = new CamionRepartoBL()) { var servicioAlimentoBL = new ServicioAlimentoBL(); var datalinks = new List <DataLinkInfo>(); var repartosServicioAlimentacion = new List <RepartoInfo>(); var repartosDetalles = new List <RepartoDetalleInfo>(); var corralesEliminar = new List <CorralInfo>(); var formulaBL = new FormulaBL(); IList <FormulaInfo> formulasExistentes = formulaBL.ObtenerTodos(EstatusEnum.Activo); IList <CamionRepartoInfo> camionesRepartoOrganizacion = camionRepartoBl.ObtenerPorOrganizacionID(usuario.Organizacion.OrganizacionID); foreach (var dataLink in validacionDatalink.ListaDataLink) { validar = dataLink; //CamionRepartoInfo camionRepartoInfo = camionRepartoBl.ObtenerPorNumeroEconomico(dataLink.NumeroCamion.Trim(), usuario.Organizacion.OrganizacionID); CamionRepartoInfo camionRepartoInfo = camionesRepartoOrganizacion.FirstOrDefault( cam => cam.NumeroEconomico.Equals(dataLink.NumeroCamion.Trim(), StringComparison.CurrentCultureIgnoreCase)); dataLink.CamionReparto = camionRepartoInfo; CorralInfo corral = corralBl.ObtenerPorCodicoOrganizacionCorral(new CorralInfo { Codigo = dataLink.CodigoCorral, Organizacion = new OrganizacionInfo { OrganizacionID = usuario.Organizacion.OrganizacionID }, Activo = EstatusEnum.Activo, }); if (corral != null) { var lote = loteBl.ObtenerPorCorralCerrado(usuario.Organizacion.OrganizacionID, corral.CorralID); if (lote == null) { lote = new LoteInfo(); } //if (lote != null) //{ var fecha = ObtenerFecha(dataLink.CadenaFechaReparto); var reparto = repartoBl.ObtenerRepartoPorFechaCorralServicio(fecha, corral, dataLink.TipoServicio); if (reparto != null) { //var formulaBl = new FormulaBL(); //int formulaId; //int.TryParse(dataLink.ClaveFormula, out formulaId); var formula = formulasExistentes.FirstOrDefault(fo => fo.Descripcion.Equals(dataLink.ClaveFormula.Trim(), StringComparison.CurrentCultureIgnoreCase)); if (formula != null) { dataLink.FormulaServida = formula; dataLink.Reparto = reparto; dataLink.UsuarioID = usuario.UsuarioID; dataLink.OrganizacionID = usuario.Organizacion.OrganizacionID; datalinks.Add(dataLink); } } //Si el Lote no se encuentra en el Reparto, buscarlo en la tabla ServicioAlimento else { ServicioAlimentoInfo servicioAlimentoInfo = servicioAlimentoBL.ObtenerPorCorralID(usuario.Organizacion.OrganizacionID, corral.CorralID); if (servicioAlimentoInfo != null) { LoteDescargaDataLinkModel datosLote = loteBl.ObtenerLoteDataLink(usuario.Organizacion.OrganizacionID, lote.LoteID); if (datosLote == null) { datosLote = new LoteDescargaDataLinkModel { PesoInicio = 0, FechaInicio = fecha, Cabezas = 0, }; } //var formulaBl = new FormulaBL(); //int formulaId; //int.TryParse(dataLink.ClaveFormula, out formulaId); //var formula = formulaBl.ObtenerPorID(formulaId); var formula = formulasExistentes.FirstOrDefault(fo => fo.Descripcion.Equals(dataLink.ClaveFormula.Trim(), StringComparison.CurrentCultureIgnoreCase)); if (formula != null) { var repartoNuevo = new RepartoInfo { OrganizacionID = usuario.Organizacion.OrganizacionID, LoteID = lote.LoteID, Corral = corral, Fecha = fecha, PesoInicio = datosLote.PesoInicio, PesoProyectado = 0, DiasEngorda = Convert.ToInt32((fecha - datosLote.FechaInicio).TotalDays), PesoRepeso = 0, DetalleReparto = new List <RepartoDetalleInfo>(), UsuarioCreacionID = usuario.UsuarioID, Activo = EstatusEnum.Activo }; var detalleReparto = new RepartoDetalleInfo { TipoServicioID = dataLink.TipoServicio, FormulaIDProgramada = servicioAlimentoInfo.FormulaID, FormulaIDServida = formula.FormulaId, CantidadProgramada = servicioAlimentoInfo.KilosProgramados, CantidadServida = dataLink.KilosServidos, HoraReparto = dataLink.Hora, CostoPromedio = 0, Importe = 0, Servido = true, Cabezas = datosLote.Cabezas == 0 ? 1 : datosLote.Cabezas, EstadoComederoID = EstadoComederoEnum.Normal.GetHashCode(), CamionRepartoID = dataLink.CamionReparto.CamionRepartoID, UsuarioCreacionID = usuario.UsuarioID, Activo = EstatusEnum.Activo }; repartoNuevo.DetalleReparto.Add(detalleReparto); repartosServicioAlimentacion.Add(repartoNuevo); var corralEliminar = new CorralInfo { CorralID = corral.CorralID, UsuarioModificacionID = usuario.UsuarioID }; corralesEliminar.Add(corralEliminar); } } } //} //else //{ // var bitacoraBL = new BitacoraIncidenciasBL(); // var errorInfo = new BitacoraErroresInfo // { // AccionesSiapID = AccionesSIAPEnum.DeDataLink, // Mensaje = "No es posible aplicar el consumo para el corral: " + corral.Codigo, // UsuarioCreacionID = usuario.UsuarioID // }; // //DescargarArchivoDataLink // bitacoraBL.GuardarError(errorInfo); //} } } if (datalinks.Count > 0) { if (datalinks.Any(x => x.CamionReparto == null)) { resultado.Resultado = false; resultado.DescripcionMensaje = ResourceServices.DescargaDataLink_msgCamionNoAsignado; } else { using (var transaccion = new TransactionScope()) { if (repartosServicioAlimentacion.Any()) { foreach (var repartoInfo in repartosServicioAlimentacion) { int repartoID = repartoBl.Guardar(repartoInfo); repartoInfo.DetalleReparto.ToList().ForEach(rep => rep.RepartoID = repartoID); repartosDetalles.AddRange(repartoInfo.DetalleReparto); } repartoBl.GuardarRepartoDetalle(repartosDetalles); if (corralesEliminar.Any()) { servicioAlimentoBL.EliminarXML(corralesEliminar); } } var res = repartoBl.CargarArchivoDatalink(datalinks); resultado.RegistrosAfectados = res; resultado.DescripcionMensaje = ResourceServices.DescargarDataLink_GuradadoOk; transaccion.Complete(); } RenombrarArchivos(validacionDatalink); } } else { resultado.Resultado = false; resultado.DescripcionMensaje = ResourceServices.DescargarDataLink_NoSecargo; } } } catch (ExcepcionGenerica) { if (validar != null) { } resultado.Resultado = false; throw; } catch (Exception ex) { if (validar != null) { } resultado.Resultado = false; Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(resultado); }
/// <summary> /// Constructor para editar una entidad CamionReparto Existente /// </summary> /// <param name="camionRepartoInfo"></param> public CamionRepartoEdicion(CamionRepartoInfo camionRepartoInfo) { InitializeComponent(); camionRepartoInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); Contexto = camionRepartoInfo; }
private IList <PolizaInfo> ObtenerPoliza(SolicitudProductoInfo solicitud) { var polizasSalidaConsumo = new List <PolizaInfo>(); IList <ClaseCostoProductoInfo> cuentasAlmacenProductoSalida = ObtenerCostosProducto(solicitud.AlmacenGeneralID); if (cuentasAlmacenProductoSalida == null) { throw new ExcepcionServicio("No se encuentran cuentas configuradas, para productos del almacén general"); } IList <CuentaSAPInfo> cuentasSap = ObtenerCuentasSAP(); TipoPolizaInfo tipoPoliza = TiposPoliza.FirstOrDefault(clave => clave.TipoPolizaID == TipoPoliza.SalidaConsumo.GetHashCode()); string textoDocumento = tipoPoliza.TextoDocumento; string tipoMovimiento = tipoPoliza.ClavePoliza; string postFijoRef3 = tipoPoliza.PostFijoRef3; var linea = 1; //TO DO REVISAR SI CAMBIARA EL REF 3 var ref3 = new StringBuilder(); ref3.Append("03"); ref3.Append( string.Format("{0}{1}{2}", DateTime.Today.Day, DateTime.Today.Month, DateTime.Today.Year).PadLeft( 10, ' ')); ref3.Append(new Random(10).Next(10, 20)); ref3.Append(new Random(30).Next(30, 40)); ref3.Append(DateTime.Now.Millisecond); ref3.Append(postFijoRef3); string numeroReferencia = ObtenerNumeroReferencia; DateTime fecha = solicitud.FechaEntrega.HasValue ? solicitud.FechaEntrega.Value : DateTime.MinValue; string archivoFolio = ObtenerArchivoFolio(fecha); var organizacionBL = new OrganizacionBL(); OrganizacionInfo organizacion = organizacionBL.ObtenerPorAlmacenID(solicitud.AlmacenGeneralID); if (organizacion == null) { organizacion = new OrganizacionInfo { TipoOrganizacion = new TipoOrganizacionInfo() }; } string claveParametro; var centrosCosto = ObtenerCentrosCosto(); var camionesReparto = ObtenerCamionesRepartoPorOrganizacion(organizacion.OrganizacionID); //camionRepartoBL.ObtenerPorOrganizacionID(organizacion.OrganizacionID); var primerDetalle = solicitud.Detalle.FirstOrDefault(); bool esCamionReparto; if (primerDetalle != null && primerDetalle.CamionRepartoID.HasValue && primerDetalle.CamionRepartoID.Value > 0) { claveParametro = ParametrosEnum.CuentaCostosDiesel.ToString(); esCamionReparto = true; } else { claveParametro = ParametrosEnum.CuentaCostosProductosAlmacen.ToString(); esCamionReparto = false; } ParametroOrganizacionInfo parametroCuenta = ObtenerParametroOrganizacionPorClave(organizacion.OrganizacionID, claveParametro); if (parametroCuenta == null) { throw new ExcepcionServicio(string.Format("No se encuentró valor de la cuenta, para el parámetro {0}, en la organización", claveParametro)); } foreach (var solicitudDetalle in solicitud.Detalle) { int centroCostoID; if (esCamionReparto) { CamionRepartoInfo camionReparto = camionesReparto.FirstOrDefault( camion => camion.CamionRepartoID == solicitudDetalle.CamionRepartoID); if (camionReparto == null) { camionReparto = new CamionRepartoInfo(); } centroCostoID = camionReparto.CentroCosto.CentroCostoID; } else { centroCostoID = solicitud.CentroCostoID; } CentroCostoInfo centroCostoCargo = centrosCosto.FirstOrDefault(centro => centro.CentroCostoID == centroCostoID); if (centroCostoCargo == null) { throw new ExcepcionServicio("No se encuentró el centro de costo"); } var datos = new DatosPolizaInfo { NumeroReferencia = numeroReferencia, FechaEntrada = solicitud.FechaEntrega.HasValue ? solicitud.FechaEntrega.Value : DateTime.MinValue, Folio = solicitud.FolioSolicitud.ToString(CultureInfo.InvariantCulture), CabezasRecibidas = string.Empty, NumeroDocumento = string.Empty, ClaseDocumento = postFijoRef3, ClaveProveedor = string.Empty, Importe = string.Format("{0}", Math.Round(solicitudDetalle.Cantidad * solicitudDetalle.PrecioPromedio, 2).ToString("F2")), IndicadorImpuesto = String.Empty, CentroCosto = string.Format("{0}{1}{2}", "SA0", organizacion.OrganizacionID, centroCostoCargo.CentroCostoSAP), Renglon = Convert.ToString(linea++), Cabezas = string.Empty, ImporteIva = "0", Ref3 = ref3.ToString(), Cuenta = parametroCuenta.Valor, CodigoRetencion = string.Empty, Division = organizacion.Division, TipoRetencion = string.Empty, ArchivoFolio = archivoFolio, DescripcionCosto = string.Empty, PesoOrigen = 0, TipoDocumento = textoDocumento, ComplementoRef1 = string.Empty, Concepto = String.Format("{0}-{1} {2} {3} {4}", tipoMovimiento, solicitud.FolioSolicitud, solicitudDetalle.Cantidad.ToString("N2"), solicitudDetalle.Producto.Descripcion, (Math.Round(solicitudDetalle.Cantidad * solicitudDetalle.PrecioPromedio, 2).ToString("C2"))), Sociedad = organizacion.Sociedad, DescripcionProducto = solicitudDetalle.Producto.Descripcion, Segmento = string.Format("{0}{1}", PrefijoSegmento, organizacion.Sociedad), }; PolizaInfo polizaSalida = GeneraRegistroPoliza(datos); polizasSalidaConsumo.Add(polizaSalida); var cuentaSapSale = cuentasAlmacenProductoSalida.FirstOrDefault( cuenta => cuenta.ProductoID == solicitudDetalle.Producto.ProductoId); if (cuentaSapSale == null) { cuentaSapSale = new ClaseCostoProductoInfo(); } var claveContableAbono = cuentasSap.FirstOrDefault(sap => sap.CuentaSAPID == cuentaSapSale.CuentaSAPID); if (claveContableAbono == null) { throw new ExcepcionServicio(string.Format("No se encontró configurada la cuenta del producto {0}", solicitudDetalle.Producto.Descripcion)); } datos = new DatosPolizaInfo { NumeroReferencia = numeroReferencia, FechaEntrada = solicitud.FechaEntrega.HasValue ? solicitud.FechaEntrega.Value : DateTime.MinValue, Folio = solicitud.FolioSolicitud.ToString(CultureInfo.InvariantCulture), CabezasRecibidas = string.Empty, NumeroDocumento = string.Empty, ClaseDocumento = postFijoRef3, ClaveProveedor = string.Empty, Importe = string.Format("{0}", (Math.Round(solicitudDetalle.Cantidad * solicitudDetalle.PrecioPromedio, 2) * -1).ToString("F2")), IndicadorImpuesto = String.Empty, CentroCosto = string.Empty, Renglon = Convert.ToString(linea++), Cabezas = string.Empty, ImporteIva = "0", Ref3 = ref3.ToString(), Cuenta = claveContableAbono.CuentaSAP, CodigoRetencion = string.Empty, TipoRetencion = string.Empty, ArchivoFolio = archivoFolio, DescripcionCosto = string.Empty, Division = organizacion.Division, PesoOrigen = 0, TipoDocumento = textoDocumento, ComplementoRef1 = string.Empty, Concepto = String.Format("{0}-{1} {2} {3} {4}", tipoMovimiento, solicitud.FolioSolicitud, solicitudDetalle.Producto.Descripcion, solicitudDetalle.Cantidad.ToString("N2"), (Math.Round(solicitudDetalle.Cantidad * solicitudDetalle.PrecioPromedio, 2).ToString("C2"))), Sociedad = organizacion.Sociedad, DescripcionProducto = solicitudDetalle.Producto.Descripcion, Segmento = string.Format("{0}{1}", PrefijoSegmento, organizacion.Sociedad), }; polizaSalida = GeneraRegistroPoliza(datos); polizasSalidaConsumo.Add(polizaSalida); } return(polizasSalidaConsumo); }
/// <summary> /// /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <CamionRepartoInfo> ObtenerPorPagina(PaginacionInfo pagina, CamionRepartoInfo filtro) { try { Logger.Info(); var camionRepartoBL = new CamionRepartoBL(); return(camionRepartoBL.ObtenerPorPagina(pagina, filtro)); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una lista paginada de CamionReparto /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <CamionRepartoInfo> ObtenerPorPagina(PaginacionInfo pagina, CamionRepartoInfo filtro) { try { Logger.Info(); var result = new ResultadoInfo <CamionRepartoInfo>(); var condicion = da.Tabla <CamionRepartoInfo>().Where(e => e.Activo == filtro.Activo); if (filtro.CamionRepartoID > 0) { condicion = condicion.Where(e => e.CamionRepartoID == filtro.CamionRepartoID); } if (!string.IsNullOrEmpty(filtro.NumeroEconomico)) { condicion = condicion.Where(e => e.NumeroEconomico.Contains(filtro.NumeroEconomico)); } if (filtro.Organizacion != null && filtro.Organizacion.OrganizacionID > 0) { condicion = condicion.Where(e => e.OrganizacionID == filtro.Organizacion.OrganizacionID); } result.TotalRegistros = condicion.Count(); int inicio = pagina.Inicio; int limite = pagina.Limite; if (inicio > 1) { int limiteReal = (limite - inicio) + 1; inicio = (limite / limiteReal); limite = limiteReal; } var paginado = condicion .OrderBy(e => e.CamionRepartoID) .Skip((inicio - 1) * limite) .Take(limite); result.Lista = paginado.ToList(); CargarOrganizaciones(result.Lista); CargarCentrosCosto(result.Lista); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> public ResultadoInfo <CamionRepartoInfo> ObtenerPorPagina(PaginacionInfo pagina, CamionRepartoInfo filtro) { try { Dictionary <string, object> parameters = AuxCamionRepartoDAL.ObtenerParametrosPorPagina(pagina, filtro); DataSet ds = Retrieve("CamionReparto_ObtenerPorPagina", parameters); ResultadoInfo <CamionRepartoInfo> result = null; if (ValidateDataSet(ds)) { result = MapCamionRepartoDAL.ObtenerPorPagina(ds); } return(result); } 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); } }