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