Пример #1
0
        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);
        }
Пример #2
0
 /// <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);
     }
 }
Пример #3
0
        /// <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);
        }