public static List <IngredienteInfo> ObtenerIngredientesFormula(int formulaId) { List <IngredienteInfo> listaIngredientes = new List <IngredienteInfo>(); try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { var ingredientePl = new IngredientePL(); IngredienteInfo ingrediente = new IngredienteInfo(); ingrediente.Formula = new FormulaInfo() { FormulaId = formulaId }; ingrediente.Organizacion = new OrganizacionInfo() { OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID }; listaIngredientes = ingredientePl.ObtenerPorFormula(ingrediente, EstatusEnum.Activo); } } catch (ExcepcionDesconocida) { throw; } catch (Exception ex) { Logger.Error(ex); } return(listaIngredientes); }
/// <summary> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaIngrediente(int inicio, int limite) { try { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var ingredientePL = new IngredientePL(); IngredienteInfo filtros = ObtenerFiltros(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; //ResultadoInfo<FormulaInfo> resultadoInfo = ingredientePL.ObtenerPorPaginaFormula(pagina, filtros); ResultadoInfo <FormulaInfo> resultadoInfo = ingredientePL.ObtenerPorPaginaFormulaOrganizacion(pagina, filtros); if (resultadoInfo != null && resultadoInfo.Lista != null && resultadoInfo.Lista.Count > 0) { gridDatos.ItemsSource = resultadoInfo.Lista; ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros; } else { ucPaginacion.TotalRegistros = 0; ucPaginacion.AsignarValoresIniciales(); gridDatos.ItemsSource = new List <Ingrediente>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Ingrediente_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Ingrediente_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Método para guardar los valores del contexto /// </summary> private void Guardar() { bool guardar = ValidaGuardar(); if (guardar) { try { var ingredientePL = new IngredientePL(); var formulaPL = new FormulaPL(); for (int i = 0; i < Contexto.ListaIngredientes.Count; i++) { Contexto.ListaIngredientes[i].Organizacion = Contexto.Organizacion; Contexto.ListaIngredientes[i].TieneCambios = true; if (Contexto.ListaIngredientes[i].UsuarioCreacionID == 0) { Contexto.ListaIngredientes[i].UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); Contexto.ListaIngredientes[i].UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); } else { Contexto.ListaIngredientes[i].UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); } Contexto.ListaIngredientes[i].Formula = Contexto.Formula; } if (!EsEdicion) { ResultadoInfo <FormulaInfo> formulas = ingredientePL.ObtenerPorPaginaFormulaOrganizacion(new Base.Infos.PaginacionInfo { Inicio = 1, Limite = 1 }, new IngredienteInfo { Formula = Contexto.Formula, Organizacion = Contexto.Organizacion }); if (formulas == null || formulas.Lista.Count == 0) { ingredientePL.GuardarIngredientesXML(Contexto.ListaIngredientes.Where(ing => ing.TieneCambios).ToList()); formulaPL.Guardar(Contexto.Formula); SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); confirmaSalir = false; Close(); } else { SkMessageBox.Show(this, "Fórmula ya tiene configuración de ingredientes.", MessageBoxButton.OK, MessageImage.Error); skAyudaFormula.LimpiarCampos(); skAyudaFormula.AsignarFoco(); } } else { ingredientePL.GuardarIngredientesXML(Contexto.ListaIngredientes.Where(ing => ing.TieneCambios).ToList()); formulaPL.Guardar(Contexto.Formula); SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); confirmaSalir = false; Close(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(this, Properties.Resources.Ingrediente_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.Ingrediente_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } } }
public List <ProduccionFormulaDetalleInfo> CrearListaProduccionFormulaDetalle(List <ProcesarArchivoInfo> lista, string formula) { var seguridad = (SeguridadInfo)ObtenerSeguridad(); var listaGlobalFormulaDetalle = new List <ProduccionFormulaDetalleInfo>(); var ingredientePL = new IngredientePL(); try { //sacamos los Productos var Prod = from w in lista where w.Formula == formula && w.Marca != "2" group w by w.Codigo into g select new { FirstLetter = g.Key, Words = g }; var formulaPL = new FormulaPL(); var formulasTodas = formulaPL.ObtenerTodos(EstatusEnum.Activo); foreach (var produccion in Prod) { var produccionFormulaDetalle = new ProduccionFormulaDetalleInfo(); List <ProcesarArchivoInfo> listafltrada = lista.Where(k => k.Formula == formula && k.Codigo == produccion.FirstLetter).ToList(); decimal cantidad = (from prod in listafltrada select prod.Real).Sum(); produccionFormulaDetalle.Producto = new ProductoInfo { ProductoId = int.Parse(produccion.FirstLetter) }; produccionFormulaDetalle.CantidadProducto = cantidad; produccionFormulaDetalle.Activo = EstatusEnum.Activo; var formulaExiste = formulasTodas.FirstOrDefault( fo => fo.Descripcion.ToUpper().Trim().Equals(formula.ToUpper().Trim(), StringComparison.InvariantCultureIgnoreCase)); if (formulaExiste == null) { formulaExiste = new FormulaInfo(); } IngredienteInfo ingredienteInfo = ingredientePL.ObtenerPorIdOrganizacionFormulaProducto(formulaExiste.FormulaId, int.Parse(produccion.FirstLetter), seguridad.Usuario.Organizacion.OrganizacionID); if (ingredienteInfo == null) { return(null); } produccionFormulaDetalle.Ingrediente = ingredienteInfo; listaGlobalFormulaDetalle.Add(produccionFormulaDetalle); } } catch (Exception er) { Logger.Error(er); return(null); } return(listaGlobalFormulaDetalle); }