/// <summary> /// Metodo para Crear un registro de ParametroOrganizacion /// </summary> /// <param name="info">Valores de la entidad que será creada</param> internal int Crear(ParametroOrganizacionInfo info) { try { Logger.Info(); Dictionary <string, object> parameters = AuxParametroOrganizacionDAL.ObtenerParametrosCrear(info); int result = Create("ParametroOrganizacion_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> /// Metodo para Guardar/Modificar una entidad ParametroOrganizacion /// </summary> /// <param name="info"></param> internal int Guardar(ParametroOrganizacionInfo info) { try { Logger.Info(); var parametroOrganizacionDAL = new ParametroOrganizacionDAL(); int result = info.ParametroOrganizacionID; if (info.ParametroOrganizacionID == 0) { result = parametroOrganizacionDAL.Crear(info); } else { parametroOrganizacionDAL.Actualizar(info); } return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene un registro de ParametroOrganizacion /// </summary> /// <param name="filtro">contenedor de los parámetros</param> /// <returns></returns> internal ParametroOrganizacionInfo ObtenerPorParametroOrganizacionID(ParametroOrganizacionInfo filtro) { try { Logger.Info(); Dictionary <string, object> parameters = AuxParametroOrganizacionDAL.ObtenerParametrosPorParametroOrganizacionID(filtro); DataSet ds = Retrieve("ParametroOrganizacion_ObtenerPorParametroOrganizacionID", parameters); ParametroOrganizacionInfo result = null; if (ValidateDataSet(ds)) { result = MapParametroOrganizacionDAL.ObtenerPorParametroOrganizacionID(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> /// Método que obtiene un registro /// </summary> /// <param name="ds"></param> /// <returns></returns> internal static ParametroOrganizacionInfo ObtenerPorOrganizacionIDClaveParametro(DataSet ds) { try { Logger.Info(); DataTable dt = ds.Tables[ConstantesDAL.DtDatos]; ParametroOrganizacionInfo entidad = (from info in dt.AsEnumerable() select new ParametroOrganizacionInfo { ParametroOrganizacionID = info.Field <int>("ParametroOrganizacionID"), Parametro = new ParametroInfo { ParametroID = info.Field <int>("ParametroID"), Descripcion = info.Field <string>("Parametro") }, Organizacion = new OrganizacionInfo { OrganizacionID = info.Field <int>("OrganizacionID"), Descripcion = info.Field <string>("Organizacion") }, Valor = info.Field <string>("Valor"), Activo = info.Field <bool>("Activo").BoolAEnum(), }).First(); return(entidad); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
private static bool ActualizarParametroEjecucion(bool ejecutando) { var usuario = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (usuario != null) { var parametroOrganizacionPL = new ParametroOrganizacionPL(); ParametroOrganizacionInfo parametro = parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(usuario.Usuario.Organizacion.OrganizacionID, ParametrosEnum.EJECORDENREP.ToString()); if (parametro != null) { if (parametro.Valor.Trim().Equals("1") && ejecutando) { return(false); } if (ejecutando) { parametro.Valor = "1"; } else { parametro.Valor = "0"; } parametro.UsuarioModificacionID = usuario.Usuario.UsuarioID; parametroOrganizacionPL.Guardar(parametro); } return(true); } return(false); }
/// <summary> /// Obtiene el parametro de configuración del paramtro de cuenta sap en transito de la orgnaización destino /// </summary> /// <param name="organizacionDestino">Organizacón a la que se envia el alimento</param> /// <returns>Regresa información del parametro de "Cuenta inventario en transito" de una organizacion</returns> public ParametroOrganizacionInfo ObtenerParametroCuentaTransito(OrganizacionInfo organizacionOrigen) { ParametroOrganizacionInfo oParametroOrganizacion = null; try{ Logger.Info(); List <ParametroInfo> lstParametros = new ParametroBL().ObtenerTodos(EstatusEnum.Activo).ToList(); if (lstParametros.Exists(obj => obj.Clave == ParametrosEnum.CuentaInventarioTransito.ToString())) { oParametroOrganizacion = new ParametroOrganizacionInfo(); oParametroOrganizacion.Parametro = new ParametroInfo(); oParametroOrganizacion.Parametro = lstParametros.Find(obj => obj.Clave == ParametrosEnum.CuentaInventarioTransito.ToString()); oParametroOrganizacion.Organizacion = organizacionOrigen; oParametroOrganizacion = new ParametroOrganizacionBL().ObtenerPorParametroOrganizacionID(oParametroOrganizacion); if (oParametroOrganizacion == null) { oParametroOrganizacion = new ParametroOrganizacionInfo { ParametroOrganizacionID = 0 }; } } } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(oParametroOrganizacion); }
/// <summary> /// Constructor para editar una entidad ParametroOrganizacion Existente /// </summary> /// <param name="parametroOrganizacionInfo"></param> public ParametroOrganizacionEdicion(ParametroOrganizacionInfo parametroOrganizacionInfo) { InitializeComponent(); parametroOrganizacionInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); Contexto = parametroOrganizacionInfo; AgregarAyudaOrganizacion(); AgregarAyudaParametro(); skAyudaOrganizacion.IsEnabled = false; skAyudaParametro.IsEnabled = false; }
public void ObtenerParametroOrganizacionPorId() { var parametroOrganizacionPL = new ParametroOrganizacionPL(); ParametroOrganizacionInfo parametroOrganizacion = parametroOrganizacionPL.ObtenerPorID(1); Assert.IsNotNull(parametroOrganizacion); Assert.IsNotNull(parametroOrganizacion.Organizacion); Assert.IsNotNull(parametroOrganizacion.Parametro); Assert.IsTrue(parametroOrganizacion.Organizacion.Descripcion.Length > 0); Assert.IsTrue(parametroOrganizacion.Parametro.Descripcion.Length > 0); }
/// <summary> /// Inicializa el Contexto /// </summary> private void InicializaContexto() { Contexto = new ParametroOrganizacionInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(), Parametro = new ParametroInfo { TipoParametro = new TipoParametroInfo() }, Organizacion = new OrganizacionInfo() }; }
/// <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.ParametroOrganizacionEdicion_MsgOrganizacionIDRequerida; skAyudaOrganizacion.Focus(); } else if (Contexto.Parametro == null || Contexto.Parametro.ParametroID == 0) { resultado = false; mensaje = Properties.Resources.ParametroOrganizacionEdicion_MsgParametroIDRequerida; skAyudaParametro.Focus(); } else if (string.IsNullOrWhiteSpace(Contexto.Valor)) { resultado = false; mensaje = Properties.Resources.ParametroOrganizacionEdicion_MsgValorRequerida; txtValor.Focus(); } else { int parametroOrganizacionId = Contexto.ParametroOrganizacionID; var parametroOrganizacionPL = new ParametroOrganizacionPL(); ParametroOrganizacionInfo parametroOrganizacion = parametroOrganizacionPL.ObtenerPorParametroOrganizacionID(Contexto); if (parametroOrganizacion != null && (parametroOrganizacionId == 0 || parametroOrganizacionId != parametroOrganizacion.ParametroOrganizacionID)) { resultado = false; mensaje = string.Format(Properties.Resources.ParametroOrganizacionEdicion_MsgDescripcionExistente, parametroOrganizacion.ParametroOrganizacionID); } } } 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> /// Valida que las cuentas contables de producto e inventario en transito esten configuradas. /// </summary> /// <returns>Regresa true si las cuentas contables son validas</returns> private bool ValidarCuentasContables() { this.EnvioAlimento.CostoProduto = this._envioAlimentoPL.ObtenerCostoAlmacenProducto(this.EnvioAlimento.Almacen.AlmacenID, this.EnvioAlimento.Producto.ProductoId); if (this.EnvioAlimento.CostoProduto == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.EnvioAlimento_MsgCuentaProductoConfiguracion, MessageBoxButton.OK, MessageImage.Warning); return(false); } if (this.EnvioAlimento.CostoProduto.Activo == EstatusEnum.Inactivo || this.EnvioAlimento.CostoProduto.CuentaSAP.Activo == EstatusEnum.Inactivo) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.EnvioAlimento_MsgCuentaProductoConfiguracion, MessageBoxButton.OK, MessageImage.Stop); return(false); } if (this.EnvioAlimento.CostoProduto.CuentaSAP.CuentaSAP.ToString().Length < 10) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.EnvioAlimento_MsgLongitudCuentaProducto, MessageBoxButton.OK, MessageImage.Stop); return(false); } ParametroOrganizacionInfo oParametro = this._envioAlimentoPL.ObtenerParametroCuentaTransito(this.EnvioAlimento.Origen); if (oParametro == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.EnvioAlimento_MsgCuentaTransitoExiste, MessageBoxButton.OK, MessageImage.Stop); return(false); } if (oParametro.Activo == EstatusEnum.Inactivo || oParametro.ParametroOrganizacionID == 0) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.EnvioAlimento_MsgCuentaTransitoConfiguracion, MessageBoxButton.OK, MessageImage.Stop); return(false); } if (oParametro.Valor.Trim().Length < 10) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.EnvioAlimento_MsgLongitudCuentaTransito, MessageBoxButton.OK, MessageImage.Stop); return(false); } return(true); }
/// <summary> /// Obtiene una entidad por organizacion y clave parametro /// </summary> /// <param name="organizacionID"></param> /// <param name="claveParametro"></param> /// <returns></returns> public ParametroOrganizacionInfo ObtenerPorOrganizacionIDClaveParametro(int organizacionID, string claveParametro) { try { Logger.Info(); var parametroOrganizacionBL = new ParametroOrganizacionBL(); ParametroOrganizacionInfo result = parametroOrganizacionBL.ObtenerPorOrganizacionIDClaveParametro(organizacionID, claveParametro); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Metodo para Guardar/Modificar una entidad ParametroOrganizacion /// </summary> /// <param name="info">Representa la entidad que se va a grabar</param> public int Guardar(ParametroOrganizacionInfo info) { try { Logger.Info(); var parametroOrganizacionBL = new ParametroOrganizacionBL(); int result = parametroOrganizacionBL.Guardar(info); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad ParametroOrganizacion por su parámetro y Organizacioón Id /// </summary> /// <param name="filtro"></param> /// <returns></returns> internal ParametroOrganizacionInfo ObtenerPorParametroOrganizacionID(ParametroOrganizacionInfo filtro) { try { Logger.Info(); var parametroOrganizacionDAL = new ParametroOrganizacionDAL(); ParametroOrganizacionInfo result = parametroOrganizacionDAL.ObtenerPorParametroOrganizacionID(filtro); return(result); } catch (ExcepcionGenerica) { throw; } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene la fecha minima en la que se podra consultar el reporte /// </summary> private void ObtenerFechaMinima() { var parametroOrganizacionPL = new ParametroOrganizacionPL(); ParametroOrganizacionInfo parametroOrganizacion = parametroOrganizacionPL. ObtenerPorOrganizacionIDClaveParametro( AuxConfiguracion.ObtenerOrganizacionUsuario(), ParametrosEnum.DiasAtrasReporteInventario.ToString()); if (parametroOrganizacion != null) { invervalo = Convert.ToInt32(parametroOrganizacion.Valor); fechaMinima = DateTime.Now.AddDays(invervalo * -1); } else { fechaMinima = DateTime.Now.AddDays(-90); invervalo = 90; } }
/// <summary> /// Valida la obtencion de los parametros necesarios para la ejecucion /// </summary> /// <returns></returns> private bool ValidarParametros() { try { var dataLink = new DescargaArchivoDataLinkPL(); var parametrosOrganizacionPl = new ParametroOrganizacionPL(); ParametroOrganizacionInfo parametro = parametrosOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID, ParametrosEnum.rutaArchivoDatalink.ToString()); if (parametro == null) { ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRolUsuario();", true); return(false); } rutaArchivoDataLink = parametro.Valor; if (!dataLink.ValidarRutaArchivo(rutaArchivoDataLink)) { ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRuta();", true); return(false); } ParametroOrganizacionInfo parametroGeneral = parametrosOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID, ParametrosEnum.nombreArchivoDatalink.ToString()); if (parametroGeneral == null) { ClientScript.RegisterStartupScript(GetType(), "myScript", "EnviarMensajeRuta();", true); return(false); } nombreArchivoDataLink = parametroGeneral.Valor; parametro = parametrosOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(organizacionID, ParametrosEnum.RutaRespaldoDL.ToString()); if (parametro != null) { rutaRespaldoArchivo = parametro.Valor; } } catch (Exception) { return(false); } return(true); }
/// <summary> /// Carga el Parametro por Organizacion de los productos que aplican para capturar muestra de Humedad /// </summary> private void CargarProductosValidosHumedad() { var parametroOrganizacionPL = new ParametroOrganizacionPL(); var parametroOrganizacionInfo = new ParametroOrganizacionInfo { Parametro = new ParametroInfo { Clave = ParametrosEnum.ProductosMuestraHumedad. ToString() }, Organizacion = new OrganizacionInfo { OrganizacionID = Auxiliar.AuxConfiguracion. ObtenerOrganizacionUsuario() } }; ParametroOrganizacionInfo parametro = parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(parametroOrganizacionInfo.Organizacion.OrganizacionID, parametroOrganizacionInfo.Parametro.Clave); if (parametro == null) { SkMessageBox.Show(this, Properties.Resources.CapturaHumedadBusquedaFolio_SinParametro, MessageBoxButton.OK, MessageImage.Warning); confirmaSalir = false; Close(); return; } if (parametro.Valor.Contains('|')) { ProductosHumedad = (from tipos in parametro.Valor.Split('|') select Convert.ToInt32(tipos)).ToList(); } else { int producto = Convert.ToInt32(parametro.Valor); ProductosHumedad.Add(producto); } }
/// <summary> /// Valida la el parametro y la configuracion del parametro de tipoCorralDestino /// </summary> /// <returns>Regresa true si el parametro esta registrado y esta configurado como activo para la organizacion del usuario logueado.</returns> private bool ValidarParametroCorralDestino() { try { Logger.Info(); bool parametroConfigurado = true; ParametroPL parametroPl = new ParametroPL(); ParametroOrganizacionPL parametroOrganizacionPl = new ParametroOrganizacionPL(); List <ParametroInfo> parametros = parametroPl.ObtenerTodos(EstatusEnum.Activo).ToList(); ParametroInfo parametroCorralDestino = null; if (parametros != null) { parametroCorralDestino = parametros.Where(parametro => parametro.Clave == ParametrosEnum.CORRALDESTINOORGANIZACION.ToString()).FirstOrDefault(); } if (parametroCorralDestino == null) { parametroConfigurado = false; } else { ParametroOrganizacionInfo parametroValor = parametroOrganizacionPl.ObtenerPorOrganizacionIDClaveParametro(int.Parse(Application.Current.Properties["OrganizacionID"].ToString()), ParametrosEnum.CORRALDESTINOORGANIZACION.ToString()); if (parametroValor == null || parametroValor.Activo == EstatusEnum.Inactivo) { parametroConfigurado = false; } else { parametroConfigurado = true; } } return(parametroConfigurado); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], ex.Message, MessageBoxButton.OK, MessageImage.Error); return(false); } }
/// <summary> /// Obtiene parametros para crear /// </summary> /// <param name="info">Valores de la entidad</param> /// <returns></returns> internal static Dictionary <string, object> ObtenerParametrosCrear(ParametroOrganizacionInfo info) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@ParametroID", info.Parametro.ParametroID }, { "@OrganizacionID", info.Organizacion.OrganizacionID }, { "@Valor", info.Valor }, { "@Activo", info.Activo }, { "@UsuarioCreacionID", info.UsuarioCreacionID }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
private void dtpFechaSacrificio_LostFocus(object sender, RoutedEventArgs e) { var fechaPl = new FechaPL(); var fechaServidor = fechaPl.ObtenerFechaActual(); int diasFacturacion = 1; var parametroOrganizacionPL = new ParametroOrganizacionPL(); ParametroOrganizacionInfo parametroOrganizacion = parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(organizacionId, ParametrosEnum.DIASFACTURACION.ToString()); if (parametroOrganizacion != null) { int.TryParse(parametroOrganizacion.Valor, out diasFacturacion); if (diasFacturacion == 0) { diasFacturacion = 1; } } if (dtpFechaSacrificio.SelectedDate != null) { DateTime fechaMinima = fechaServidor.FechaActual.AddDays(-diasFacturacion); if (dtpFechaSacrificio.SelectedDate.Value.Date < fechaMinima.Date) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], string.Format(Properties.Resources.FacturacionSacrificio_MensajeFechaMenorAyer, diasFacturacion), MessageBoxButton.OK, MessageImage.Warning); dtpFechaSacrificio.SelectedDate = DateTime.Now; } if (dtpFechaSacrificio.SelectedDate.Value.Date > fechaServidor.FechaActual.Date) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.FacturacionSacrificio_MensajeFechaMayorAHoy, MessageBoxButton.OK, MessageImage.Warning); dtpFechaSacrificio.SelectedDate = DateTime.Now; } } }
private void ValidarParametroHumedad() { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; var parametroOrganizacionPL = new ParametroOrganizacionPL(); if (seguridad != null) { ParametroOrganizacionInfo parametro = parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro( seguridad.Usuario.Organizacion.OrganizacionID, ParametrosEnum.MuestraHumedad.ToString()); if (parametro != null) { int valor; int.TryParse(parametro.Valor, out valor); if (valor == 1) { aplicaCapturaHumedad = true; hfAplicaHumedad.Value = parametro.Valor; } ParametroOrganizacionInfo parametroProductos = parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro( seguridad.Usuario.Organizacion.OrganizacionID, ParametrosEnum.ProductosMuestraHumedad.ToString()); if (parametroProductos != null) { if (parametroProductos.Valor.Contains('|')) { ProductosHumedad = (from tipos in parametroProductos.Valor.Split('|') select Convert.ToInt32(tipos)).ToList(); } else { int producto = Convert.ToInt32(parametroProductos.Valor); ProductosHumedad.Add(producto); } } } } }
internal static ParametroOrganizacionInfo ObtenerPorOrganizacionIDClaveParametro(IDataReader reader) { try { Logger.Info(); ParametroOrganizacionInfo entidad = null; while (reader.Read()) { entidad = new ParametroOrganizacionInfo { ParametroOrganizacionID = Convert.ToInt32(reader["ParametroOrganizacionID"]), Parametro = new ParametroInfo { ParametroID = Convert.ToInt32(reader["ParametroID"]), Descripcion = Convert.ToString(reader["Parametro"]) }, Organizacion = new OrganizacionInfo { OrganizacionID = Convert.ToInt32(reader["OrganizacionID"]), Descripcion = Convert.ToString(reader["Organizacion"]) }, Valor = Convert.ToString(reader["Valor"]), Activo = Convert.ToBoolean(reader["Activo"]).BoolAEnum(), }; } return(entidad); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Obtiene una entidad por organizacion y clave parametro /// </summary> /// <param name="organizacionID"></param> /// <param name="claveParametro"></param> /// <returns></returns> internal ParametroOrganizacionInfo ObtenerPorOrganizacionIDClaveParametro(int organizacionID, string claveParametro) { try { Logger.Info(); Dictionary <string, object> parameters = AuxParametroOrganizacionDAL.ObtenerParametrosPorOrganizacionIDClaveParametro(organizacionID, claveParametro); using (IDataReader reader = RetrieveReader("ParametroOrganizacion_ObtenerPorOrganizacionClave", parameters)) { ParametroOrganizacionInfo result = null; if (ValidateDataReader(reader)) { result = MapParametroOrganizacionDAL.ObtenerPorOrganizacionIDClaveParametro(reader); } if (Connection.State == ConnectionState.Open) { Connection.Close(); } 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); } }
private IList <PolizaInfo> ObtenerPoliza(List <AnimalCostoInfo> costosAnimales) { var polizasSalidaMuerte = new List <PolizaInfo>(); var costosAgrupados = costosAnimales.Where(imp => imp.Importe > 0).GroupBy(costo => new { costo.CostoID, costo.AnimalID }) .Select(animal => new { Importe = animal.Sum(imp => imp.Importe), animal.Key.CostoID, animal.Key.AnimalID, Arete = animal.Select(ani => ani.Arete).FirstOrDefault(), FolioReferencia = animal.Select(folio => folio.FolioReferencia).FirstOrDefault(), FechaCosto = animal.Select(fecha => fecha.FechaCosto).FirstOrDefault(), OrganizacionID = animal.Select(org => org.OrganizacionID).FirstOrDefault() }).ToList(); if (costosAgrupados != null && costosAgrupados.Any()) { TipoPolizaInfo tipoPoliza = TiposPoliza.FirstOrDefault(clave => clave.TipoPolizaID == TipoPoliza.SalidaMuerte.GetHashCode()); if (tipoPoliza == null) { throw new ExcepcionServicio(string.Format("{0} {1}", "EL TIPO DE POLIZA", TipoPoliza.SalidaMuerte)); } string textoDocumento = tipoPoliza.TextoDocumento; string tipoMovimiento = tipoPoliza.ClavePoliza; string postFijoRef3 = tipoPoliza.PostFijoRef3; var linea = 1; 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; if (costos == null) { costos = ObtenerCostos(); } List <AnimalInfo> animales = costosAgrupados.Select(ani => new AnimalInfo { AnimalID = ani.AnimalID }).ToList(); List <AnimalMovimientoInfo> animalesMovimiento = ObtenerUltimoMovimiento(animales); for (var indexCostos = 0; indexCostos < costosAgrupados.Count; indexCostos++) { var costoAnimal = costosAgrupados[indexCostos]; CostoInfo costo = costos.FirstOrDefault( tipo => tipo.CostoID == costoAnimal.CostoID); if (costo == null) { costo = new CostoInfo(); } string numeroReferencia = costoAnimal.Arete; OrganizacionInfo organizacion = ObtenerOrganizacionIVA(costoAnimal.OrganizacionID); if (organizacion == null) { organizacion = new OrganizacionInfo { TipoOrganizacion = new TipoOrganizacionInfo() }; } ClaveContableInfo claveContableAbono = ObtenerCuentaInventario(costo, organizacion.OrganizacionID, organizacion.TipoOrganizacion.TipoOrganizacionID); if (claveContableAbono == null) { throw new ExcepcionServicio(string.Format("{0} {1}", "NO EXISTE CONFIGURACION PARA EL COSTO", costo.Descripcion)); } ClaveContableInfo claveContableCargo = ObtenerCuentaInventario(costo, organizacion.OrganizacionID, TipoPoliza.SalidaMuerte); if (claveContableCargo == null) { throw new ExcepcionServicio(string.Format("{0} {1}", "NO EXISTE CONFIGURACION PARA EL COSTO", costo.Descripcion)); } ParametroOrganizacionInfo parametroCentroCosto = ObtenerParametroOrganizacionPorClave(organizacion.OrganizacionID, ParametrosEnum.CTACENTROCOSTOENG.ToString()); if (parametroCentroCosto == null) { throw new ExcepcionServicio(string.Format("{0}", "CENTRO DE COSTO NO CONFIGURADO")); } int peso = animalesMovimiento.Where(kilos => kilos.AnimalID == costoAnimal.AnimalID && kilos.TipoMovimientoID == TipoMovimiento.Muerte.GetHashCode()) .Select(proyeccion => proyeccion.Peso).FirstOrDefault(); DateTime fecha = animalesMovimiento.Where(kilos => kilos.AnimalID == costoAnimal.AnimalID && kilos.TipoMovimientoID == TipoMovimiento.Muerte.GetHashCode()) .Select(proyeccion => proyeccion.FechaMovimiento).FirstOrDefault(); if (fecha != null && fecha > default(DateTime)) { string archivoFolio = ObtenerArchivoFolio(fecha); var datos = new DatosPolizaInfo { NumeroReferencia = numeroReferencia, FechaEntrada = fecha, Folio = numeroReferencia, Importe = string.Format("{0}", costoAnimal.Importe.ToString("F2")), Renglon = Convert.ToString(linea++), ImporteIva = "0", Ref3 = ref3.ToString(), Cuenta = claveContableCargo.Valor, Division = organizacion.Division, ArchivoFolio = archivoFolio, CentroCosto = claveContableCargo.Valor.StartsWith(PrefijoCuentaCentroCosto) || claveContableCargo.Valor.StartsWith(PrefijoCuentaCentroGasto) ? parametroCentroCosto.Valor : string.Empty, PesoOrigen = peso, TipoDocumento = textoDocumento, ClaseDocumento = postFijoRef3, ComplementoRef1 = string.Empty, Concepto = String.Format("{0}-{1} {2} kgs", tipoMovimiento, numeroReferencia, peso), Sociedad = organizacion.Sociedad, Segmento = string.Format("{0}{1}", PrefijoSegmento, organizacion.Sociedad), }; PolizaInfo polizaSalida = GeneraRegistroPoliza(datos); polizasSalidaMuerte.Add(polizaSalida); datos = new DatosPolizaInfo { NumeroReferencia = numeroReferencia, FechaEntrada = fecha, Folio = numeroReferencia, Importe = string.Format("{0}", (costoAnimal.Importe * -1).ToString("F2")), Renglon = Convert.ToString(linea++), ImporteIva = "0", Ref3 = ref3.ToString(), Cuenta = claveContableAbono.Valor, ArchivoFolio = archivoFolio, Division = organizacion.Division, PesoOrigen = peso, TipoDocumento = textoDocumento, ClaseDocumento = postFijoRef3, Concepto = String.Format("{0}-{1} {2} kgs", tipoMovimiento, numeroReferencia, peso), Sociedad = organizacion.Sociedad, Segmento = string.Format("{0}{1}", PrefijoSegmento, organizacion.Sociedad), }; polizaSalida = GeneraRegistroPoliza(datos); polizasSalidaMuerte.Add(polizaSalida); } } } return(polizasSalidaMuerte); }
/// <summary> /// Método que obtiene una lista de parametros filtrado /// por organización y tipo de parametro. /// </summary> /// <param name="filtro">Descripción de la entidad </param> /// <returns></returns> internal static Dictionary <string, object> ObtenerPorOrganizacionTipoParametro(ParametroOrganizacionInfo filtro) { try { Logger.Info(); var parametros = new Dictionary <string, object> { { "@OrganizacionID", filtro.OrganizacionFiltro }, { "@TipoParametroID", filtro.Parametro.TipoParametro.TipoParametroID }, }; return(parametros); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
private IList <PolizaInfo> ObtenerPoliza(List <PolizaEntradaSalidaPorAjusteModel> ajustesDeInventario) { var polizasSalidaAjuste = new List <PolizaInfo>(); TipoPolizaInfo tipoPoliza = TiposPoliza.FirstOrDefault(clave => clave.TipoPolizaID == TipoPoliza.EntradaAjuste.GetHashCode()); if (tipoPoliza == null) { throw new ExcepcionServicio(string.Format("{0} {1}", "EL TIPO DE POLIZA", TipoPoliza.EntradaAjuste)); } string textoDocumento = tipoPoliza.TextoDocumento; string tipoMovimiento = tipoPoliza.ClavePoliza; string postFijoRef3 = tipoPoliza.PostFijoRef3; var linea = 1; var almacenMovimientoBL = new AlmacenMovimientoBL(); List <AlmacenMovimientoDetalle> almancenMovimientosDetalle = ajustesDeInventario.Select(mov => new AlmacenMovimientoDetalle { AlmacenMovimientoDetalleID = mov.AlmacenMovimientoDetalleID }).ToList(); AlmacenMovimientoInfo almacenMovimiento = almacenMovimientoBL.ObtenerMovimientoPorClaveDetalle(almancenMovimientosDetalle); if (almacenMovimiento == null) { almacenMovimiento = new AlmacenMovimientoInfo(); } string archivoFolio = ObtenerArchivoFolio(almacenMovimiento.FechaMovimiento); AlmacenInfo almacen = ObtenerAlmacen(almacenMovimiento.AlmacenID); if (almacen == null) { almacen = new AlmacenInfo { Organizacion = new OrganizacionInfo() }; } OrganizacionInfo organizacion = ObtenerOrganizacionIVA(almacen.Organizacion.OrganizacionID); if (organizacion == null) { organizacion = new OrganizacionInfo { TipoOrganizacion = new TipoOrganizacionInfo() }; } 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; string numeroReferencia = ObtenerNumeroReferenciaFolio(almacenMovimiento.FolioMovimiento); IList <CuentaSAPInfo> cuentasSAP = ObtenerCuentasSAP(); IList <ClaseCostoProductoInfo> almacenesProductos = ObtenerCostosProducto(almacen.AlmacenID); ParametroOrganizacionInfo parametroOrganizacionSuperavit; if (almacen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.Enfermeria.GetHashCode() || almacen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.ManejoGanado.GetHashCode() || almacen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.ReimplanteGanado.GetHashCode()) { parametroOrganizacionSuperavit = ObtenerParametroOrganizacionPorClave(organizacion.OrganizacionID, ParametrosEnum.CTASUPERAVITENG.ToString()); } else { parametroOrganizacionSuperavit = ObtenerParametroOrganizacionPorClave(organizacion.OrganizacionID, ParametrosEnum.CTASUPERAVIT.ToString()); } if (parametroOrganizacionSuperavit == null) { throw new ExcepcionServicio(string.Format("{0}", "CUENTA DE SUPERAVIT NO CONFIGURADA")); } IList <ProductoInfo> productos = ObtenerProductos(); IList <UnidadMedicionInfo> unidades = ObtenerUnidadesMedicion(); IList <CuentaAlmacenSubFamiliaInfo> almacenesSubFamilia = ObtenerCostosSubFamilia(almacen.AlmacenID); ProductoInfo producto; PolizaEntradaSalidaPorAjusteModel ajuste; ClaseCostoProductoInfo almacenProducto; CuentaSAPInfo cuentaSAP; CuentaAlmacenSubFamiliaInfo almacenSubFamilia; ParametroOrganizacionInfo parametroCentroCosto = ObtenerParametroOrganizacionPorClave(organizacion.OrganizacionID, ParametrosEnum.CTACENTROCOSTOMP.ToString()); if (parametroCentroCosto == null) { throw new ExcepcionServicio(string.Format("{0}", "CENTRO DE COSTO NO CONFIGURADO")); } bool afectaCosto; for (var indexAjustes = 0; indexAjustes < ajustesDeInventario.Count; indexAjustes++) { ajuste = ajustesDeInventario[indexAjustes]; cuentaSAP = null; producto = productos.FirstOrDefault(clave => clave.ProductoId == ajuste.ProductoID); afectaCosto = ValidarAfectacionCuentaCosto(producto); if (!afectaCosto && (almacen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.Enfermeria.GetHashCode() || almacen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.ManejoGanado.GetHashCode() || almacen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.ReimplanteGanado.GetHashCode())) { almacenSubFamilia = almacenesSubFamilia.FirstOrDefault(sub => sub.SubFamiliaID == producto.SubfamiliaId); if (almacenSubFamilia != null) { cuentaSAP = cuentasSAP.FirstOrDefault(cuenta => cuenta.CuentaSAPID == almacenSubFamilia.CuentaSAPID); } } else { almacenProducto = almacenesProductos.FirstOrDefault(prod => prod.ProductoID == producto.ProductoId); if (almacenProducto != null) { cuentaSAP = cuentasSAP.FirstOrDefault(cuenta => cuenta.CuentaSAPID == almacenProducto.CuentaSAPID); } } if (cuentaSAP == null) { throw new ExcepcionServicio(string.Format("{0} {1} {2}", "CUENTA PARA PRODUCTO", producto.ProductoDescripcion, "NO CONFIGURADA")); } UnidadMedicionInfo unidad = unidades.FirstOrDefault(uni => uni.UnidadID == producto.UnidadId); if (unidad == null) { unidad = new UnidadMedicionInfo(); } var datos = new DatosPolizaInfo { NumeroReferencia = numeroReferencia, FechaEntrada = almacenMovimiento.FechaMovimiento, Folio = almacenMovimiento.FolioMovimiento.ToString(), ClaseDocumento = postFijoRef3, Importe = string.Format("{0}", ajuste.Importe.ToString("F2")), Renglon = Convert.ToString(linea++), ImporteIva = "0", Ref3 = ref3.ToString(), Cuenta = cuentaSAP.CuentaSAP, Division = organizacion.Division, ArchivoFolio = archivoFolio, DescripcionCosto = cuentaSAP.Descripcion, CentroCosto = cuentaSAP.CuentaSAP.StartsWith(PrefijoCuentaCentroCosto) || cuentaSAP.CuentaSAP.StartsWith(PrefijoCuentaCentroGasto) ? parametroCentroCosto.Valor : string.Empty, PesoOrigen = Math.Round(ajuste.Cantidad, 0), TipoDocumento = textoDocumento, Concepto = String.Format("{0}-{1} {2} {3} {4}", tipoMovimiento, almacenMovimiento.FolioMovimiento, producto.ProductoDescripcion, string.Format("{0} {1}", ajuste.Cantidad.ToString("N2"), unidad.ClaveUnidad), ajuste.Precio.ToString("C2")), Sociedad = organizacion.Sociedad, Segmento = string.Format("{0}{1}", PrefijoSegmento, organizacion.Sociedad), }; PolizaInfo polizaSalida = GeneraRegistroPoliza(datos); polizasSalidaAjuste.Add(polizaSalida); datos = new DatosPolizaInfo { NumeroReferencia = numeroReferencia, FechaEntrada = almacenMovimiento.FechaMovimiento, Folio = almacenMovimiento.FolioMovimiento.ToString(), Importe = string.Format("{0}", (ajuste.Importe * -1).ToString("F2")), Renglon = Convert.ToString(linea++), ImporteIva = "0", Ref3 = ref3.ToString(), Cuenta = parametroOrganizacionSuperavit.Valor, CentroCosto = parametroOrganizacionSuperavit.Valor.StartsWith(PrefijoCuentaCentroCosto) || parametroOrganizacionSuperavit.Valor.StartsWith(PrefijoCuentaCentroGasto) ? parametroCentroCosto.Valor : string.Empty, Division = organizacion.Division, ArchivoFolio = archivoFolio, DescripcionCosto = cuentaSAP.Descripcion, PesoOrigen = Math.Round(ajuste.Cantidad, 0), TipoDocumento = textoDocumento, ClaseDocumento = postFijoRef3, Concepto = String.Format("{0}-{1} {2} {3} {4}", tipoMovimiento, almacenMovimiento.FolioMovimiento, producto.ProductoDescripcion, string.Format("{0} {1}", ajuste.Cantidad.ToString("N2"), unidad.ClaveUnidad), ajuste.Precio.ToString("C2")), Sociedad = organizacion.Sociedad, Segmento = string.Format("{0}{1}", PrefijoSegmento, organizacion.Sociedad), }; polizaSalida = GeneraRegistroPoliza(datos); polizasSalidaAjuste.Add(polizaSalida); } return(polizasSalidaAjuste); }
/// <summary> /// Obtiene un lista paginada /// </summary> /// <param name="pagina"></param> /// <param name="filtro"></param> /// <returns></returns> internal ResultadoInfo <ParametroOrganizacionInfo> ObtenerPorFiltroPagina(PaginacionInfo pagina, ParametroOrganizacionInfo filtro) { try { Dictionary <string, object> parameters = AuxParametroOrganizacionDAL.ObtenerParametrosPorFiltroPagina(pagina, filtro); DataSet ds = Retrieve("ParametroOrganizacion_ObtenerPorFiltroPagina", parameters); ResultadoInfo <ParametroOrganizacionInfo> result = null; if (ValidateDataSet(ds)) { result = MapParametroOrganizacionDAL.ObtenerPorFiltroPagina(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); } }
private IList <PolizaInfo> ObtenerPoliza(TraspasoMpPaMedInfo traspasoMp) { var polizasSalidaTraspaso = new List <PolizaInfo>(); IList <ClaseCostoProductoInfo> cuentasAlmacenProductoSalida = ObtenerCostosProducto(traspasoMp.AlmacenOrigen.AlmacenID); IList <ClaseCostoProductoInfo> cuentasAlmacenProductoEntrada = ObtenerCostosProducto(traspasoMp.AlmacenDestino.AlmacenID); if (cuentasAlmacenProductoSalida == null) { throw new ExcepcionServicio("No se encuentran cuentas configuradas, para productos del almacén origen"); } if (cuentasAlmacenProductoEntrada == null) { throw new ExcepcionServicio("No se encuentran cuentas configuradas, para productos del almacén de destino"); } TipoPolizaInfo tipoPoliza = TiposPoliza.FirstOrDefault(clave => clave.TipoPolizaID == TipoPoliza.EntradaTraspaso.GetHashCode()); if (tipoPoliza == null) { throw new ExcepcionServicio(string.Format("{0} {1}", "EL TIPO DE POLIZA", TipoPoliza.EntradaTraspaso)); } IList <CuentaSAPInfo> cuentasSap = ObtenerCuentasSAP(); 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); var almacenMovimientoBL = new AlmacenMovimientoBL(); AlmacenMovimientoInfo almacenMovimiento = almacenMovimientoBL.ObtenerPorId(traspasoMp.AlmacenMovimientoID); string numeroReferencia = ObtenerNumeroReferenciaFolio(almacenMovimiento.FolioMovimiento); //string numeroReferencia = ObtenerNumeroReferencia; DateTime fecha = traspasoMp.FechaTraspaso; string archivoFolio = ObtenerArchivoFolio(fecha); var organizacionBL = new OrganizacionBL(); OrganizacionInfo organizacionOrigen = organizacionBL.ObtenerPorAlmacenID(traspasoMp.AlmacenOrigen.AlmacenID); if (organizacionOrigen == null) { organizacionOrigen = new OrganizacionInfo { TipoOrganizacion = new TipoOrganizacionInfo() }; } OrganizacionInfo organizacionDestino = organizacionBL.ObtenerPorAlmacenID(traspasoMp.AlmacenDestino.AlmacenID); if (organizacionDestino == null) { organizacionDestino = new OrganizacionInfo { TipoOrganizacion = new TipoOrganizacionInfo() }; } IList <CuentaAlmacenSubFamiliaInfo> cuentasSubFamiliaSalida = ObtenerCostosSubFamilia(traspasoMp.AlmacenOrigen.AlmacenID); IList <CuentaAlmacenSubFamiliaInfo> cuentasSubFamiliaEntrada = ObtenerCostosSubFamilia(traspasoMp.AlmacenDestino.AlmacenID); ParametroOrganizacionInfo parametroCentroCostoOrigen = ObtenerParametroOrganizacionPorClave(organizacionOrigen.OrganizacionID, ParametrosEnum.CTACENTROCOSTOMP.ToString()); if (parametroCentroCostoOrigen == null) { throw new ExcepcionServicio(string.Format("{0}", "CENTRO DE COSTO NO CONFIGURADO")); } ParametroOrganizacionInfo parametroCentroCostoDestino = ObtenerParametroOrganizacionPorClave(organizacionDestino.OrganizacionID, ParametrosEnum.CTACENTROCOSTOMP.ToString()); if (parametroCentroCostoDestino == null) { throw new ExcepcionServicio(string.Format("{0}", "CENTRO DE COSTO NO CONFIGURADO")); } bool afectaCosto; CuentaSAPInfo claveContableCargo; afectaCosto = ValidarAfectacionCuentaCosto(traspasoMp.ProductoOrigen); if (!afectaCosto && (traspasoMp.AlmacenDestino.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.Enfermeria.GetHashCode() || traspasoMp.AlmacenDestino.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.ManejoGanado.GetHashCode() || traspasoMp.AlmacenDestino.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.ReimplanteGanado.GetHashCode()) || traspasoMp.AlmacenDestino.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.GeneralGanadera.GetHashCode()) { var cuentaSapSubFamiliaEntrada = cuentasSubFamiliaEntrada.FirstOrDefault( cuenta => cuenta.SubFamiliaID == traspasoMp.ProductoOrigen.SubFamilia.SubFamiliaID); if (cuentaSapSubFamiliaEntrada == null) { cuentaSapSubFamiliaEntrada = new CuentaAlmacenSubFamiliaInfo(); } claveContableCargo = cuentasSap.FirstOrDefault(sap => sap.CuentaSAPID == cuentaSapSubFamiliaEntrada.CuentaSAPID); } else { var cuentaSapEntrada = cuentasAlmacenProductoEntrada.FirstOrDefault( cuenta => cuenta.ProductoID == traspasoMp.ProductoOrigen.ProductoId); if (cuentaSapEntrada == null) { cuentaSapEntrada = new ClaseCostoProductoInfo(); } claveContableCargo = cuentasSap.FirstOrDefault(sap => sap.CuentaSAPID == cuentaSapEntrada.CuentaSAPID); } if (traspasoMp.AlmacenDestino.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.CentroAcopio.GetHashCode()) { ParametroOrganizacionInfo cuentaMedicamento = ObtenerParametroOrganizacionPorClave(organizacionDestino.OrganizacionID, ParametrosEnum.CuentaMedicamentoTransito.ToString()); if (cuentaMedicamento == null) { cuentaMedicamento = new ParametroOrganizacionInfo { Valor = string.Empty }; } claveContableCargo = cuentasSap.FirstOrDefault( sap => sap.CuentaSAP.Equals(cuentaMedicamento.Valor, StringComparison.InvariantCultureIgnoreCase)); } if (claveContableCargo == null) { throw new ExcepcionServicio(string.Format("No se encontró configurada la cuenta del producto {0}", traspasoMp.ProductoOrigen.ProductoDescripcion)); } linea = 0; linea++; var datos = new DatosPolizaInfo { NumeroReferencia = numeroReferencia, FechaEntrada = fecha, Folio = numeroReferencia, ClaseDocumento = postFijoRef3, Importe = string.Format("{0}", traspasoMp.ImporteTraspaso.ToString("F2")), Renglon = Convert.ToString(linea), ImporteIva = "0", Ref3 = ref3.ToString(), Cuenta = claveContableCargo.CuentaSAP, CentroCosto = claveContableCargo.CuentaSAP.StartsWith(PrefijoCuentaCentroCosto) ? parametroCentroCostoDestino.Valor : string.Empty, Division = organizacionDestino.Division, ArchivoFolio = archivoFolio, PesoOrigen = 0, TipoDocumento = textoDocumento, Concepto = String.Format("{0}-{1} {2} {3} {4}", tipoMovimiento, numeroReferencia, traspasoMp.ProductoOrigen.ProductoDescripcion, string.Format("{0} {1}.", traspasoMp.CantidadTraspasarDestino.ToString("N2"), traspasoMp.ProductoOrigen.UnidadMedicion.ClaveUnidad), traspasoMp.PrecioTraspasoDestino.ToString("C2")), Sociedad = organizacionDestino.Sociedad, DescripcionProducto = claveContableCargo.Descripcion, Segmento = string.Format("{0}{1}", PrefijoSegmento, organizacionDestino.Sociedad), }; PolizaInfo polizaSalida = GeneraRegistroPoliza(datos); polizasSalidaTraspaso.Add(polizaSalida); #region CuentaAbono CuentaSAPInfo claveContableAbono = null; afectaCosto = ValidarAfectacionCuentaCosto(traspasoMp.ProductoOrigen); if (!afectaCosto && (traspasoMp.AlmacenOrigen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.Enfermeria.GetHashCode() || traspasoMp.AlmacenOrigen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.ManejoGanado.GetHashCode() || traspasoMp.AlmacenOrigen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.ReimplanteGanado.GetHashCode()) || traspasoMp.AlmacenDestino.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.GeneralGanadera.GetHashCode()) { var cuentaSapSubFamiliaSalida = cuentasSubFamiliaSalida.FirstOrDefault( cuenta => cuenta.SubFamiliaID == traspasoMp.ProductoOrigen.SubFamilia.SubFamiliaID); if (cuentaSapSubFamiliaSalida == null) { cuentaSapSubFamiliaSalida = new CuentaAlmacenSubFamiliaInfo(); } claveContableAbono = cuentasSap.FirstOrDefault(sap => sap.CuentaSAPID == cuentaSapSubFamiliaSalida.CuentaSAPID); } else { var cuentaSapSalida = cuentasAlmacenProductoSalida.FirstOrDefault( cuenta => cuenta.ProductoID == traspasoMp.ProductoOrigen.ProductoId); if (cuentaSapSalida == null) { cuentaSapSalida = new ClaseCostoProductoInfo(); } claveContableAbono = cuentasSap.FirstOrDefault(sap => sap.CuentaSAPID == cuentaSapSalida.CuentaSAPID); } if (traspasoMp.AlmacenOrigen.TipoAlmacen.TipoAlmacenID == TipoAlmacenEnum.CentroAcopio.GetHashCode()) { ParametroOrganizacionInfo cuentaMedicamento = ObtenerParametroOrganizacionPorClave(organizacionOrigen.OrganizacionID, ParametrosEnum.CuentaMedicamentoTransito.ToString()); if (cuentaMedicamento == null) { cuentaMedicamento = new ParametroOrganizacionInfo { Valor = string.Empty }; } claveContableAbono = cuentasSap.FirstOrDefault( sap => sap.CuentaSAP.Equals(cuentaMedicamento.Valor, StringComparison.InvariantCultureIgnoreCase)); } if (claveContableAbono == null) { throw new ExcepcionServicio(string.Format("No se encontró configurada la cuenta del producto {0}", traspasoMp.ProductoOrigen.ProductoDescripcion)); } #endregion CuentaAbono linea++; datos = new DatosPolizaInfo { NumeroReferencia = numeroReferencia, FechaEntrada = fecha, Folio = numeroReferencia, ClaseDocumento = postFijoRef3, Importe = string.Format("{0}", (traspasoMp.ImporteTraspaso * -1).ToString("F2")), Renglon = Convert.ToString(linea), ImporteIva = "0", Ref3 = ref3.ToString(), Cuenta = claveContableAbono.CuentaSAP, ArchivoFolio = archivoFolio, CentroCosto = claveContableAbono.CuentaSAP.StartsWith(PrefijoCuentaCentroCosto) ? parametroCentroCostoOrigen.Valor : string.Empty, Division = organizacionOrigen.Division, PesoOrigen = 0, TipoDocumento = textoDocumento, Concepto = String.Format("{0}-{1} {2} {3} {4}", tipoMovimiento, numeroReferencia, traspasoMp.ProductoOrigen.ProductoDescripcion, string.Format("{0} {1}.", traspasoMp.CantidadTraspasarOrigen.ToString("N2"), traspasoMp.ProductoOrigen.UnidadMedicion.ClaveUnidad), traspasoMp.PrecioTraspasoOrigen.ToString("C2")), Sociedad = organizacionOrigen.Sociedad, DescripcionProducto = claveContableAbono.Descripcion, Segmento = string.Format("{0}{1}", PrefijoSegmento, organizacionOrigen.Sociedad), }; polizaSalida = GeneraRegistroPoliza(datos); polizasSalidaTraspaso.Add(polizaSalida); return(polizasSalidaTraspaso); }
/// <summary> /// Carga el comboBox de los corrales segun la organizacion del usuario que se logueo /// </summary> void CargarCorralesComboBox() { //cbCorrales.Items.Clear(); InicializaContexto(); //Contexto = new SalidaPorMuerteEnTransitoInfo {OrganizacionID = Contexto.OrganizacionID}; corrales = CorralBL.ObtenerCorralesPorOrganizacionID(Contexto.OrganizacionID); //cargar combobox de corrales if (corrales.Count == 0) //en caso de no encontrarse ningun corral { //verificar si el parametroID de la tabla de organizacion del usuario logueado este registrado en la tabla parametros //SP: Parametro_ObtenerPorDescripcion con la descripcion; 'Corral para faltantes de compra directa' / 'Corral para faltantes de origen propio' //verificar que exista la configuracion del parametro corral de faltantes para la organizacion //:SP ParametroOrganizacion_ObtenerPorParametroOrganizacionID ; con OrganizacionID del usuario logueado, ParametroID que corresponda al parametro de la primera validacion //verificar que el corral tenga un lote activo (en caso de no hallar corrales) //LoteBL.ObtenerActivosPorCorral(AuxConfiguracion.ObtenerOrganizacionUsuarioID, int corralID); var parametroPl = new ParametroPL(); ParametroInfo parametroFaltantesCompraDirecta = parametroPl.ObtenerPorDescripcion( Properties.Resources.SalidaGanadoTransito_Parametro_Faltantes_Compra_Directa); ParametroInfo parametroFaltantesOrigenPropio = parametroPl.ObtenerPorDescripcion( Properties.Resources.SalidaGanadoTransito_Parametro_Faltantes_Origen_Propio); if ((parametroFaltantesCompraDirecta != null && parametroFaltantesCompraDirecta.Activo == EstatusEnum.Activo) || (parametroFaltantesOrigenPropio != null && parametroFaltantesOrigenPropio.Activo == EstatusEnum.Activo)) { var parametroOrganizacionPl = new ParametroOrganizacionPL(); var parOrganizacionFaltantesCompraDirecta = new ParametroOrganizacionInfo { Organizacion = new OrganizacionInfo(), Parametro = new ParametroInfo() }; parOrganizacionFaltantesCompraDirecta.Organizacion.OrganizacionID = Contexto.OrganizacionID; if (parametroFaltantesCompraDirecta != null) { parOrganizacionFaltantesCompraDirecta.Parametro.ParametroID = parametroFaltantesCompraDirecta.ParametroID; } parOrganizacionFaltantesCompraDirecta = parametroOrganizacionPl.ObtenerPorParametroOrganizacionID( parOrganizacionFaltantesCompraDirecta); var parOrganizacionFaltantesOrigenPropio = new ParametroOrganizacionInfo { Organizacion = new OrganizacionInfo(), Parametro = new ParametroInfo() }; parOrganizacionFaltantesOrigenPropio.Organizacion.OrganizacionID = Contexto.OrganizacionID; parOrganizacionFaltantesOrigenPropio.Parametro.ParametroID = parametroFaltantesOrigenPropio.ParametroID; parOrganizacionFaltantesOrigenPropio = parametroOrganizacionPl.ObtenerPorParametroOrganizacionID( parOrganizacionFaltantesOrigenPropio); if (parOrganizacionFaltantesCompraDirecta == null || parOrganizacionFaltantesOrigenPropio == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaGanadoTransito_MsgConfiguracionCorralNoExiste, MessageBoxButton.OK, MessageImage.Warning); BloquearPantalla(); } else { if (!parOrganizacionFaltantesCompraDirecta.Activo.ValorBooleanoDesdeEnum() && !parOrganizacionFaltantesOrigenPropio.Activo.ValorBooleanoDesdeEnum()) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaGanadoTransito_MsgConfiguracionCorralNoExiste, MessageBoxButton.OK, MessageImage.Warning); BloquearPantalla(); } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaGanadoTransito_MsgCorralActivoNoEncontrado, MessageBoxButton.OK, MessageImage.Warning); BloquearPantalla(); } } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.SalidaGanadoTransito_MsgParametroCorralNoExiste, MessageBoxButton.OK, MessageImage.Warning); BloquearPantalla(); cbCorrales.IsEnabled = true; } } var seleccione = new CorralesPorOrganizacionInfo { CorralID = 0, Descripcion = "Seleccione" }; corrales.Insert(0, seleccione); cbCorrales.ItemsSource = new List <CorralesPorOrganizacionInfo>(); cbCorrales.ItemsSource = corrales; cbCorrales.SelectedValue = 0; }