/// <summary>
 /// Constructor para editar una entidad SubFamilia Existente
 /// </summary>
 /// <param name="subFamiliaInfo"></param>
 public SubFamiliaEdicion(SubFamiliaInfo subFamiliaInfo)
 {
     InitializeComponent();
     CargaFamilia();
     subFamiliaInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado();
     Contexto = subFamiliaInfo;
 }
Example #2
0
 /// <summary>
 /// Metodo para Crear un registro de SubFamilia
 /// </summary>
 /// <param name="info">Valores de la entidad que será creada</param>
 internal int Crear(SubFamiliaInfo info)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxSubFamiliaDAL.ObtenerParametrosCrear(info);
         int result = Create("SubFamilia_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);
     }
 }
Example #3
0
 /// <summary>
 ///     Obtiene un SubFamilia por familia
 /// </summary>
 /// <param name="subFamilia"></param>
 /// <returns></returns>
 internal SubFamiliaInfo ObtenerPorIDPorFamilia(SubFamiliaInfo subFamilia)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxSubFamiliaDAL.ObtenerParametrosPorFamilia(subFamilia);
         DataSet        ds     = Retrieve("SubFamilia_ObtenerPorFamilia", parameters);
         SubFamiliaInfo result = null;
         if (ValidateDataSet(ds))
         {
             result = MapSubFamiliaDAL.ObtenerPorIDPorFamilia(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);
     }
 }
Example #4
0
        /// <summary>
        /// Obtiene los parametros necesarios para
        /// la ejecucion del procedimiento almacenado
        /// SubFamilia_ObtenerPorFamilia
        /// </summary>
        /// <param name="subFamilia"></param>
        /// <returns></returns>
        internal static Dictionary <string, object> ObtenerParametrosPorFamilia(SubFamiliaInfo subFamilia)
        {
            Dictionary <string, object> parametros;

            try
            {
                Logger.Info();
                var xml =
                    new XElement("ROOT",
                                 from familia in subFamilia.Familias
                                 select new XElement("Familia",
                                                     new XElement("FamiliaID", familia.FamiliaID)
                                                     ));
                parametros = new Dictionary <string, object>
                {
                    { "@XmlFamilias", xml.ToString() },
                    { "@SubFamiliaID", subFamilia.SubFamiliaID },
                };
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(parametros);
        }
Example #5
0
 /// <summary>
 ///  Método que obtiene un registro
 /// </summary>
 /// <param name="ds"></param>
 /// <returns></returns>
 internal static SubFamiliaInfo ObtenerPorDescripcion(DataSet ds)
 {
     try
     {
         Logger.Info();
         DataTable      dt      = ds.Tables[ConstantesDAL.DtDatos];
         SubFamiliaInfo entidad =
             (from info in dt.AsEnumerable()
              select
              new SubFamiliaInfo
         {
             Familia =
                 new FamiliaInfo
             {
                 FamiliaID = info.Field <int>("FamiliaID")
             },
             SubFamiliaID = info.Field <int>("SubFamiliaID"),
             Descripcion = info.Field <string>("Descripcion"),
             Activo = info.Field <bool>("Activo").BoolAEnum(),
         }).First();
         return(entidad);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        /// <summary>
        /// Metodo que llena el combo de Tipos de Organización
        /// </summary>
        private void CargarComboSubFamilias()
        {
            var familiaSeleccionada = (FamiliaInfo)cboFamilia.SelectedItem;

            if (familiaSeleccionada == null || familiaSeleccionada.FamiliaID == 0)
            {
                return;
            }
            var subFamiliaSeleccione = new SubFamiliaInfo
            {
                SubFamiliaID = 0,
                Descripcion  = Properties.Resources.cbo_Seleccione
            };
            var listaOrdenada = subFamilias.Where(sub => sub.Familia.FamiliaID == familiaSeleccionada.FamiliaID).OrderBy(sub => sub.Descripcion).ToList();

            listaOrdenada.Insert(0, subFamiliaSeleccione);

            cboSubFamilia.ItemsSource = listaOrdenada;
            if (TratamientoProducto.Producto.SubFamilia == null)
            {
                cboSubFamilia.SelectedIndex = 0;
            }
            if (listaOrdenada.Count <= 1)
            {
                SkMessageBox.Show(this, Properties.Resources.TratamientoEdicionProducto_SinSubfamilias, MessageBoxButton.OK, MessageImage.Warning);
            }
        }
Example #7
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad SubFamilia
 /// </summary>
 /// <param name="info"></param>
 internal int Guardar(SubFamiliaInfo info)
 {
     try
     {
         Logger.Info();
         var subFamiliaDAL = new SubFamiliaDAL();
         int result        = info.SubFamiliaID;
         if (info.SubFamiliaID == 0)
         {
             result = subFamiliaDAL.Crear(info);
         }
         else
         {
             subFamiliaDAL.Actualizar(info);
         }
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        /// <summary>
        /// Metodo que valida los datos para guardar
        /// </summary>
        /// <returns></returns>
        private bool ValidaGuardar()
        {
            bool   resultado = true;
            string mensaje   = string.Empty;

            try
            {
                if (string.IsNullOrWhiteSpace(txtSubFamiliaID.Text))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.SubFamiliaEdicion_MsgSubFamiliaIDRequerida;
                    txtSubFamiliaID.Focus();
                }
                else if (string.IsNullOrWhiteSpace(txtDescripcion.Text) || Contexto.Descripcion == string.Empty)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.SubFamiliaEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (cmbFamilia.SelectedItem == null || Contexto.Familia.FamiliaID == 0)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.SubFamiliaEdicion_MsgFamiliaIDRequerida;
                    cmbFamilia.Focus();
                }
                else if (cmbActivo.SelectedItem == null)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.SubFamiliaEdicion_MsgActivoRequerida;
                    cmbActivo.Focus();
                }
                else
                {
                    int    subFamiliaId = Extensor.ValorEntero(txtSubFamiliaID.Text);
                    string descripcion  = txtDescripcion.Text;
                    int    familiaId    = Contexto.Familia.FamiliaID;

                    var            subFamiliaPL = new SubFamiliaPL();
                    SubFamiliaInfo subFamilia   = subFamiliaPL.ObtenerPorDescripcion(descripcion, familiaId);

                    if (subFamilia != null && (subFamiliaId == 0 || subFamiliaId != subFamilia.SubFamiliaID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.SubFamiliaEdicion_MsgDescripcionExistente,
                                                  subFamilia.SubFamiliaID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto =
         new SubFamiliaInfo
     {
         Familia           = new FamiliaInfo(),
         UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(),
     };
 }
Example #10
0
        public void ObtenerSubFamiliaPorId()
        {
            var            subFamiliaPL = new SubFamiliaPL();
            SubFamiliaInfo subFamilia   = subFamiliaPL.ObtenerPorID(1);

            Assert.IsNotNull(subFamilia);
            Assert.IsNotNull(subFamilia.Familia);
            Assert.IsTrue(subFamilia.Descripcion.Length > 0);
            Assert.IsTrue(subFamilia.Familia.Descripcion.Length > 0);
        }
        /// <summary>
        /// Deshabilita el combo de subfamilia
        /// </summary>
        private void DeshabilitaComboSubfamilia()
        {
            var subFamilias    = new List <SubFamiliaInfo>();
            var subFamiliaInfo = new SubFamiliaInfo {
                SubFamiliaID = 0, Descripcion = Properties.Resources.cbo_Seleccione
            };

            subFamilias.Insert(0, subFamiliaInfo);
            cboSubFamilia.ItemsSource  = subFamilias;
            cboSubFamilia.SelectedItem = subFamiliaInfo;
        }
Example #12
0
        /// <summary>
        /// Metodo que carga la subfamilias configuradas para envio de alimento
        /// </summary>
        private void CargaSubFamilias()
        {
            List <SubFamiliaInfo> lstSubFamilias = this._envioAlimentoPL.ObtenerSubFamiliasConfiguradas();
            var subFamilia = new SubFamiliaInfo
            {
                SubFamiliaID = 0,
                Descripcion  = Properties.Resources.cbo_Seleccione,
            };

            lstSubFamilias.Insert(0, subFamilia);
            cmbSubFamilia.ItemsSource  = lstSubFamilias;
            cmbSubFamilia.SelectedItem = subFamilia;
            skAyudaProducto.IsEnabled  = false;
        }
        /// <summary>
        /// Metodo que llena el combo de Tipos de Organización
        /// </summary>
        private void CargarComboSubFamiliaDefault()
        {
            var subFamiliaSeleccione = new SubFamiliaInfo
            {
                SubFamiliaID = 0,
                Descripcion  = Properties.Resources.cbo_Seleccione
            };
            var listaOrdenada = new List <SubFamiliaInfo>();

            listaOrdenada.Insert(0, subFamiliaSeleccione);
            cboSubFamilia.ItemsSource = listaOrdenada;
            if (TratamientoProducto.Producto.SubFamilia == null)
            {
                cboSubFamilia.SelectedIndex = 0;
            }
        }
 /// <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;
         }
     }
 }
Example #15
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad SubFamilia
 /// </summary>
 /// <param name="info">Representa la entidad que se va a grabar</param>
 public int Guardar(SubFamiliaInfo info)
 {
     try
     {
         Logger.Info();
         var subFamiliaBL = new SubFamiliaBL();
         int result       = subFamiliaBL.Guardar(info);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Example #16
0
 /// <summary>
 /// Obtiene la lista para mostrar en el grid
 /// </summary>
 private void ObtenerListaSubFamilia(int inicio, int limite)
 {
     try
     {
         var            subFamiliaPL = new SubFamiliaPL();
         SubFamiliaInfo filtros      = ObtenerFiltros();
         if (ucPaginacion.ContextoAnterior != null)
         {
             bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior);
             if (!contextosIguales)
             {
                 ucPaginacion.Inicio = 1;
                 inicio = 1;
             }
         }
         var pagina = new PaginacionInfo {
             Inicio = inicio, Limite = limite
         };
         ResultadoInfo <SubFamiliaInfo> resultadoInfo = subFamiliaPL.ObtenerPorPagina(pagina, filtros);
         if (resultadoInfo != null && resultadoInfo.Lista != null &&
             resultadoInfo.Lista.Count > 0)
         {
             gridDatos.ItemsSource       = resultadoInfo.Lista;
             ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros;
         }
         else
         {
             ucPaginacion.TotalRegistros = 0;
             gridDatos.ItemsSource       = new List <SubFamilia>();
         }
     }
     catch (ExcepcionGenerica)
     {
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                           Properties.Resources.SubFamilia_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                           Properties.Resources.SubFamilia_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
     }
 }
Example #17
0
 /// <summary>
 /// Obtiene una entidad por su descripción
 /// </summary>
 /// <param name="descripcion"></param>
 /// <param name="familiaId"> </param>
 /// <returns></returns>
 public SubFamiliaInfo ObtenerPorDescripcion(string descripcion, int familiaId)
 {
     try
     {
         Logger.Info();
         var            subFamiliaBL = new SubFamiliaBL();
         SubFamiliaInfo result       = subFamiliaBL.ObtenerPorDescripcion(descripcion, familiaId);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Example #18
0
 /// <summary>
 ///     Obtiene un SubFamilia por familia
 /// </summary>
 /// <param name="subFamilia"></param>
 /// <returns></returns>
 internal SubFamiliaInfo ObtenerPorIDPorFamilia(SubFamiliaInfo subFamilia)
 {
     try
     {
         Logger.Info();
         var            subFamiliaDAL = new SubFamiliaDAL();
         SubFamiliaInfo result        = subFamiliaDAL.ObtenerPorIDPorFamilia(subFamilia);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Example #19
0
        /// <summary>
        ///     Obtiene un SubFamilia por familia
        /// </summary>
        /// <param name="subFamilia"></param>
        /// <returns></returns>
        public SubFamiliaInfo ObtenerPorIDPorFamilia(SubFamiliaInfo subFamilia)
        {
            SubFamiliaInfo subFamiliaInfo;

            try
            {
                Logger.Info();
                var subFamiliaBL = new SubFamiliaBL();
                subFamiliaInfo = subFamiliaBL.ObtenerPorIDPorFamilia(subFamilia);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(subFamiliaInfo);
        }
Example #20
0
 /// <summary>
 /// Obtiene parametros para crear
 /// </summary>
 /// <param name="info">Valores de la entidad</param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosCrear(SubFamiliaInfo info)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@FamiliaID", info.Familia.FamiliaID },
             { "@Descripcion", info.Descripcion },
             { "@Activo", info.Activo },
             { "@UsuarioCreacionID", info.UsuarioCreacionID },
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Example #21
0
 /// <summary>
 /// Metodo para actualizar un registro de SubFamilia
 /// </summary>
 /// <param name="info">Valores de la entidad que se actualizarán</param>
 internal void Actualizar(SubFamiliaInfo info)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxSubFamiliaDAL.ObtenerParametrosActualizar(info);
         Update("SubFamilia_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);
     }
 }
Example #22
0
        /// <summary>
        ///     Obtiene un lista paginada de SubFamilia
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        internal ResultadoInfo <SubFamiliaInfo> ObtenerPorPagina(PaginacionInfo pagina, SubFamiliaInfo filtro)
        {
            ResultadoInfo <SubFamiliaInfo> result;

            try
            {
                Logger.Info();
                var subFamiliaDAL = new SubFamiliaDAL();
                result = subFamiliaDAL.ObtenerPorPagina(pagina, filtro);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
Example #23
0
        /// <summary>
        /// Obtiene los parametros necesarios
        /// para la ejecucion del procedimiento
        /// almacenado SubFamilia_ObtenerPorPaginaPorFamilia
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        internal static Dictionary <string, object> ObtenerParametrosPorPaginaPorFamilia(PaginacionInfo pagina, SubFamiliaInfo filtro)
        {
            Dictionary <string, object> parametros;

            try
            {
                Logger.Info();
                var xml =
                    new XElement("ROOT",
                                 from familia in filtro.Familias
                                 select new XElement("Familia",
                                                     new XElement("FamiliaID", familia.FamiliaID)
                                                     ));
                parametros = new Dictionary <string, object>
                {
                    { "@XmlFamilias", xml.ToString() },
                    { "@Descripcion", filtro.Descripcion },
                    { "@Activo", filtro.Activo },
                    { "@Limite", pagina.Limite },
                    { "@Inicio", pagina.Inicio },
                };
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(parametros);
        }
Example #24
0
        /// <summary>
        /// Genera diccionario con los parametros
        /// necesiarios para la ejecucion del procedimiento
        /// que obtiene SubFamilias Paginada
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        internal static Dictionary <string, object> ObtenerParametrosPorPagina(PaginacionInfo pagina, SubFamiliaInfo filtro)
        {
            Dictionary <string, object> parametros;

            try
            {
                Logger.Info();
                parametros = new Dictionary <string, object>
                {
                    { "@FamiliaID", filtro.Familia.FamiliaID },
                    { "@Descripcion", filtro.Descripcion },
                    { "@Activo", filtro.Activo },
                    { "@Inicio", pagina.Inicio },
                    { "@Limite", pagina.Limite }
                };
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(parametros);
        }
Example #25
0
        /// <summary>
        ///     Obtiene un lista paginada de usuario por el filtro especificado
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        internal ResultadoInfo <SubFamiliaInfo> ObtenerPorPagina(PaginacionInfo pagina, SubFamiliaInfo filtro)
        {
            ResultadoInfo <SubFamiliaInfo> subFamiliaLista = null;

            try
            {
                Dictionary <string, object> parameters = AuxSubFamiliaDAL.ObtenerParametrosPorPagina(pagina, filtro);
                DataSet ds = Retrieve("SubFamilia_ObtenerPorPagina", parameters);
                if (ValidateDataSet(ds))
                {
                    subFamiliaLista = MapSubFamiliaDAL.ObtenerPorPagina(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(subFamiliaLista);
        }