public static List <AlmacenInventarioLoteInfo> ObtenerLotesDelProducto(int formulaId) { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; List <AlmacenInventarioLoteInfo> listaLotes = null; if (seguridad != null) { var formulaPl = new FormulaPL(); FormulaInfo formulaInfo = formulaPl.ObtenerPorID(formulaId); if (formulaInfo.Descripcion.Trim() != "F1") { var almaceninventariolotepl = new AlmacenInventarioLotePL(); listaLotes = almaceninventariolotepl.ObtenerListadoLotesPorOrganizacionTipoAlmacenProducto( new ParametrosOrganizacionTipoAlmacenProductoActivo { Activo = 1, OrganizacionId = seguridad.Usuario.Organizacion.OrganizacionID, ProductoId = formulaInfo.Producto.ProductoId, TipoAlmacenId = (int)TipoAlmacenEnum.MateriasPrimas, UsuarioId = seguridad.Usuario.UsuarioID }); } } return(listaLotes); }
/// <summary> /// Llena el combo de formulas /// </summary> private void CargarFormulas() { try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; var formulaPl = new FormulaPL(); IList <FormulaInfo> listaFormula = formulaPl.ObtenerFormulasConfiguradas(EstatusEnum.Activo); if (listaFormula != null) { if (listaFormula.Count > 0) { listaFormula.Add(new FormulaInfo() { FormulaId = 0, Descripcion = "Seleccione" }); cmbFormula.DataSource = listaFormula; cmbFormula.DataTextField = "Descripcion"; cmbFormula.DataValueField = "FormulaID"; cmbFormula.DataBind(); cmbFormula.SelectedValue = "0"; } } } catch (ExcepcionDesconocida) { throw; } catch (Exception ex) { Logger.Error(ex); } }
public void FormulaObtenerPorIdExistente() { var pl = new FormulaPL(); FormulaInfo formula = pl.ObtenerPorID(1); Assert.AreNotEqual(formula, null); }
public void FormulaGuardarDescripcionExistente() { var pl = new FormulaPL(); var formula = new FormulaInfo { FormulaId = 0, Descripcion = "Formula FC", TipoFormula = new TipoFormulaInfo { TipoFormulaID = 1 }, Producto = new ProductoInfo { ProductoId = 1 }, UsuarioCreacionID = 1, Activo = EstatusEnum.Activo }; try { formula.FormulaId = pl.Guardar(formula); } catch (Exception) { formula.FormulaId = 0; } Assert.AreEqual(formula.FormulaId, 0); }
public void FormulaObtenerTodosActivos() { var pl = new FormulaPL(); IList <FormulaInfo> lista = pl.ObtenerTodos(EstatusEnum.Activo); Assert.AreNotEqual(lista, null); }
public static FormulaInfo ObtenerFormula(int formulaID) { var formulaPL = new FormulaPL(); FormulaInfo formula = formulaPL.ObtenerPorFormulaIDCalidadPaseProceso(formulaID); return(formula); }
/// <summary> /// Método para guardar los valores del contexto /// </summary> private void Guardar() { bool guardar = ValidaGuardar(); if (guardar) { try { var formulaPL = new FormulaPL(); formulaPL.Guardar(Contexto); SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); if (Contexto.FormulaId == 0) { InicializaContexto(); txtDescripcion.Focus(); } else { confirmaSalir = false; Close(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(this, Properties.Resources.Formula_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.Formula_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } } }
public static AlmacenInventarioInfo ObtenerExistenciaInventarioFormula(int formulaId) { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; AlmacenInventarioInfo almacenInventarioInfo = null; //var almaceninventarioPl = new AlmacenInventarioPL(); if (seguridad != null) { FormulaInfo formula = new FormulaInfo(); FormulaPL formulaPl = new FormulaPL(); formula = formulaPl.ObtenerPorID(formulaId); //AlmacenInfo almacenInfo = new AlmacenInfo(); AlmacenPL almacenPl = new AlmacenPL(); almacenInventarioInfo = almacenPl.ObtenerAlmacenInventarioPorOrganizacionTipoAlmacen(new ParametrosOrganizacionTipoAlmacenProductoActivo() { Activo = 1, OrganizacionId = seguridad.Usuario.OrganizacionID, ProductoId = formula.Producto.ProductoId, TipoAlmacenId = (int)TipoAlmacenEnum.PlantaDeAlimentos }); } return(almacenInventarioInfo); }
public string ValidarCodigoFormula(ProcesarArchivoInfo renglonArchivo) { string resultado; resultado = GetLocalResourceObject("OK").ToString(); var formulas = new FormulaPL(); if (string.IsNullOrWhiteSpace(renglonArchivo.Formula)) { return(GetLocalResourceObject("formulas").ToString()); } var formulasTodos = formulas.ObtenerTodos(EstatusEnum.Activo); var formulaExiste = formulasTodos.FirstOrDefault(fo => fo.Descripcion.ToUpper().Trim().Equals(renglonArchivo.Formula.ToUpper().Trim(), StringComparison.InvariantCultureIgnoreCase)); if (formulaExiste == null) { return(GetLocalResourceObject("formulas").ToString()); } else { renglonArchivo.FormulaID = formulaExiste.FormulaId; } return(resultado); }
public void FormulaCrear() { var random = new Random(); int randomNumber = random.Next(0, 100); var pl = new FormulaPL(); var formula = new FormulaInfo { FormulaId = 0, Descripcion = string.Format("Prueba Unitaria Crear {0:D10}", randomNumber), UsuarioCreacionID = 1, TipoFormula = new TipoFormulaInfo { TipoFormulaID = 1 }, Producto = new ProductoInfo { ProductoId = 1 }, Activo = EstatusEnum.Activo }; try { pl.Guardar(formula); } catch (Exception) { formula = null; } Assert.AreNotEqual(formula, null); }
/// <summary> /// Llena el combo de rotomix /// </summary> private void CargarRotoMix() { try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; var formulaPl = new FormulaPL(); IList <RotoMixInfo> listaRotoMix = formulaPl.ObtenerRotoMixConfiguradas(seguridad.Usuario.Organizacion.OrganizacionID); if (listaRotoMix != null && listaRotoMix.Count > 0) { listaRotoMix.Add(new RotoMixInfo() { RotoMixId = 0, Descripcion = "Seleccione" }); cmbRotoMix.DataSource = listaRotoMix; cmbRotoMix.DataTextField = "Descripcion"; cmbRotoMix.DataValueField = "RotoMixId"; cmbRotoMix.DataBind(); cmbRotoMix.SelectedValue = "0"; } } catch (ExcepcionDesconocida) { throw; } catch (Exception ex) { Logger.Error(ex); } }
public List <ProduccionFormulaBatchInfo> CrearListaProduccionFormulaBatch(List <ProcesarArchivoInfo> lista, string formula, int Batch, string nombrerotomix) { var listaFormulaProduccionBatch = new List <ProduccionFormulaBatchInfo>(); var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; var formulaPL = new FormulaPL(); var formulasTodas = formulaPL.ObtenerTodos(EstatusEnum.Activo); try { //sacamos los Productos var produccionAgrupada = from w in lista where w.Formula == formula && w.Marca != "2" && w.batch == Batch group w by w.Codigo into g select new { FirstLetter = g.Key, Words = g }; foreach (var z in produccionAgrupada) { var rotomixPl = new RotomixPL(); RotoMixInfo rotoMix = rotomixPl.ObtenerRotoMixXOrganizacionYDescripcion(seguridad.Usuario.Organizacion.OrganizacionID, nombrerotomix); var produccionformulabatch = new ProduccionFormulaBatchInfo(); List <ProcesarArchivoInfo> listafltrada = lista.Where(k => k.Formula == formula && k.Codigo == z.FirstLetter && k.batch == Batch).ToList(); int cantidadReal = (from prod in listafltrada select prod.Real).Sum(); int cantidadProgramada = (from prod in listafltrada select prod.Meta).Sum(); var formulaExiste = formulasTodas.FirstOrDefault( fo => fo.Descripcion.ToUpper().Trim().Equals(formula.ToUpper().Trim(), StringComparison.InvariantCultureIgnoreCase)); if (formulaExiste == null) { formulaExiste = new FormulaInfo(); } produccionformulabatch.OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID; produccionformulabatch.Batch = Batch; produccionformulabatch.ProductoID = int.Parse(z.FirstLetter); produccionformulabatch.FormulaID = formulaExiste.FormulaId; produccionformulabatch.CantidadProgramada = cantidadProgramada; produccionformulabatch.CantidadReal = cantidadReal; produccionformulabatch.Activo = EstatusEnum.Activo; produccionformulabatch.RotomixID = rotoMix.RotoMixId; listaFormulaProduccionBatch.Add(produccionformulabatch); } } catch (Exception er) { Logger.Error(er); return(null); } return(listaFormulaProduccionBatch); }
public void FormulaObtenerPorId() { var pl = new FormulaPL(); FormulaInfo formula = pl.ObtenerPorID(0); Assert.AreEqual(formula, null); Assert.IsNotNull(formula.TipoFormula); Assert.IsNotNull(formula.Producto); }
/// <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(Contexto.Descripcion)) { resultado = false; mensaje = Properties.Resources.FormulaEdicion_MsgDescripcionRequerida; txtDescripcion.Focus(); } else if (cmbTipoFormula.SelectedItem == null || Contexto.TipoFormula.TipoFormulaID == 0) { resultado = false; mensaje = Properties.Resources.FormulaEdicion_MsgTipoFormulaIDRequerida; cmbTipoFormula.Focus(); } else if (Contexto.Producto.ProductoId == 0) { resultado = false; mensaje = Properties.Resources.FormulaEdicion_MsgProductoIDRequerida; skAyudaProducto.AsignarFoco(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.FormulaEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { int formulaId = Contexto.FormulaId; var formulaPL = new FormulaPL(); FormulaInfo formula = formulaPL.ObtenerPorDescripcion(Contexto.Descripcion); if (formula != null && (formulaId == 0 || formulaId != formula.FormulaId)) { resultado = false; mensaje = string.Format(Properties.Resources.FormulaEdicion_MsgDescripcionExistente, formula.FormulaId); } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
private void ObtenerFormulas() { var formulaPl = new FormulaPL(); IList <FormulaInfo> formulas = formulaPl.ObtenerTodos(); if (formulas == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoGordo_MensajeNoSeEncontraronRegistrosFormula, MessageBoxButton.OK, MessageImage.Warning); } CboFormula.ItemsSource = formulas; }
public void FormulaObtenerPorPaginaSinDatos() { var pl = new FormulaPL(); var pagina = new PaginacionInfo { Inicio = 1, Limite = 15 }; var filtro = new FormulaInfo { Descripcion = "." }; ResultadoInfo <FormulaInfo> listaPaginada = pl.ObtenerPorPagina(pagina, filtro); Assert.AreEqual(listaPaginada, null); }
/* protected void btnLimpiar_Click(object sender, EventArgs e) * { * txtCodigoCorral.Text = string.Empty; * txtKgsProgramados.Text = string.Empty; * ddlFormula.SelectedIndex = -1; * }*/ #endregion #region Metodos private void CargarFormulas() { FormulaPL formulaPL = new FormulaPL(); var formulas = formulaPL.ObtenerTodos(); if (formulas != null) { formulas = formulas.Where(registro => registro.TipoFormula.TipoFormulaID == TipoFormula.Inicio.GetHashCode() || registro.TipoFormula.TipoFormulaID == TipoFormula.Finalizacion.GetHashCode() || registro.TipoFormula.TipoFormulaID == TipoFormula.Retiro.GetHashCode()).ToList(); ddlFormula.DataSource = formulas; ddlFormula.DataBind(); } }
public static IList <FormulaInfo> ConsultarFormulas() { try { var formulasPl = new FormulaPL(); var formulas = formulasPl.ObtenerPorTipoFormulaID((int)TipoFormula.Forraje); var formulasInicio = formulasPl.ObtenerPorTipoFormulaID((int)TipoFormula.Inicio); formulasInicio = formulasInicio.Where(item => item.Descripcion.Trim() == "F1").ToList(); if (formulasInicio.Count > 0) { formulas.Add(formulasInicio[0]); } return(formulas); } catch (Exception ex) { Logger.Error(ex); throw; } }
/// <summary> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaFormula(int inicio, int limite) { try { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var formulaPL = new FormulaPL(); FormulaInfo filtros = ObtenerFiltros(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <FormulaInfo> resultadoInfo = formulaPL.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 <Formula>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Formula_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Formula_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
public static IList <FormulaInfo> ObtenerFormulaPagina(string descripcionFormula) { var pagina = new PaginacionInfo { Inicio = 1, Limite = 100000 }; var formulaPL = new FormulaPL(); var formula = new FormulaInfo { Descripcion = descripcionFormula, Activo = EstatusEnum.Activo }; ResultadoInfo <FormulaInfo> formulas = formulaPL.ObtenerPorPaseCalidadPaginado(pagina, formula); var resultado = new List <FormulaInfo>(); if (formulas != null) { resultado.AddRange(formulas.Lista); } return(resultado); }
public static int DeterminaNumeroBatch(int rotoMix) { int resultado = 0; try { int organizacionid = 0; var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; organizacionid = seguridad.Usuario.Organizacion.OrganizacionID; var formulaPl = new FormulaPL(); resultado = formulaPl.CantidadBatch(organizacionid, rotoMix) + 1; } catch (ExcepcionDesconocida) { throw; } catch (Exception ex) { Logger.Error(ex); } return(resultado); }
/// <summary> /// Funcion que llena los datos de los combos de formulas /// </summary> private void CargarFormulas() { try { Logger.Info(); FormulaPL formulaPL = new FormulaPL(); IList <FormulaInfo> listaFormulas = formulaPL.ObtenerTodos(); cmbFormulaManiana.DataSource = listaFormulas; cmbFormulaManiana.DataTextField = "Descripcion"; cmbFormulaManiana.DataValueField = "FormulaId"; cmbFormulaManiana.DataBind(); cmbFormulaTarde.DataSource = listaFormulas; cmbFormulaTarde.DataTextField = "Descripcion"; cmbFormulaTarde.DataValueField = "FormulaId"; cmbFormulaTarde.DataBind(); } catch (Exception ex) { Logger.Error(ex); } }
public void FormulaActualizar() { var random = new Random(); int randomNumber = random.Next(0, 100); var pl = new FormulaPL(); FormulaInfo formula = pl.ObtenerPorID(9); if (formula != null) { string descripcion; try { descripcion = string.Format("Prueba Unitaria Actualizar {0:D10}", randomNumber); formula.Descripcion = descripcion; formula.UsuarioModificacionID = 2; pl.Guardar(formula); } catch (Exception) { descripcion = string.Empty; } Assert.AreEqual(formula.Descripcion, descripcion); } }
public ResultadoValidacion ValidacionesLista(List <ProcesarArchivoInfo> listaprocesarlo) { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; string mensajeOK = string.Empty; var localResourceObject = GetLocalResourceObject("OK"); if (localResourceObject != null) { mensajeOK = localResourceObject.ToString(); } string nombrerotomix = ""; var resultado = new ResultadoValidacion { Mensaje = mensajeOK }; var listaFormulaDetalle = new List <ProduccionFormulaDetalleInfo>(); var listaFormulaProduccionBatch = new List <ProduccionFormulaBatchInfo>(); try { List <ProcesarArchivoInfo> listaparadetalle = listaprocesarlo; //sacamos las distintas formulas del archivo de texto List <ProcesarArchivoInfo> formulas = listaprocesarlo.GroupBy(p => p.Formula).Select(g => g.First()).ToList(); foreach (var renglon in formulas) //recorremos por formulas { ProcesarArchivoInfo elemento = renglon; //sacamos los batchs var batches = from w in listaprocesarlo where w.Formula == elemento.Formula group w by w.batch into g select new { FirstLetter = g.Key, Words = g }; resultado.Mensaje = ValidarCodigoFormula(elemento); if (resultado.Mensaje != mensajeOK) { return(resultado); } int sumatoriameta = 0; int sumatoriareal = 0; listaFormulaProduccionBatch = new List <ProduccionFormulaBatchInfo>(); foreach (var batch in batches) { List <ProcesarArchivoInfo> lista = listaprocesarlo.Where(k => k.Formula == elemento.Formula && k.batch == batch.FirstLetter).ToList(); var detallesBatchs = new DetalleBatchInfo(); int sumatoriarealbatch = 0; foreach (ProcesarArchivoInfo elmentoArchivo in lista) { if (elmentoArchivo.Marca == "2") { resultado.Mensaje = ValidarColumnaCodigoLista(elmentoArchivo); if (resultado.Mensaje != mensajeOK) { return(resultado); } } else { resultado.Mensaje = ValidarFechaYHora(elmentoArchivo); if (resultado.Mensaje != mensajeOK) { return(resultado); } //valido que exista el codigo del producto resultado.Mensaje = ValidarCodigoProducto(elmentoArchivo); if (resultado.Mensaje != mensajeOK) { return(resultado); } resultado.Mensaje = ValidarCodigoRotomix(elmentoArchivo); if (resultado.Mensaje != mensajeOK) { return(resultado); } resultado.Mensaje = ValidarCodigoFormula(elmentoArchivo); if (resultado.Mensaje != mensajeOK) { return(resultado); } resultado.Mensaje = ValidarProduccionFormula(elmentoArchivo); if (resultado.Mensaje != mensajeOK) { return(resultado); } //var elementosDuplicados = // lista.Where(det => det.Codigo.Equals(elmentoArchivo.Codigo) // && det.Formula.ToUpper().Trim().Equals(elmentoArchivo.Formula.ToUpper().Trim()) // && det.Rotomix.ToUpper().Trim().Equals(elmentoArchivo.Rotomix.ToUpper().Trim()) // && det.Hora.Equals(elmentoArchivo.Hora)).ToList(); //if(elementosDuplicados.Count > 1) //{ // resultado.Mensaje = string.Format("El renglon se encuentra duplicado, Batch: {0}, Producto: {1}, RotoMix: {2}, Hora: {3}", elmentoArchivo.batch, elmentoArchivo.Codigo, elmentoArchivo.Rotomix, elmentoArchivo.Hora); // return resultado; //} sumatoriameta = sumatoriameta + elmentoArchivo.Meta; sumatoriareal = sumatoriareal + elmentoArchivo.Real; sumatoriarealbatch = sumatoriarealbatch + elmentoArchivo.Real; nombrerotomix = elmentoArchivo.Rotomix; } } detallesBatchs.Batch = batch.FirstLetter; detallesBatchs.KilosProducidos = sumatoriarealbatch; detallesBatchs.Rotomix = nombrerotomix; detallesBatchs.Formula = renglon.Formula; ListaGlobalDetalleBatch.Add(detallesBatchs); //creamos el detalle de la tabla Produccion Formula Detalle listaFormulaDetalle = CrearListaProduccionFormulaDetalle(listaparadetalle, renglon.Formula); if (listaFormulaDetalle == null) { resultado.Mensaje = "ingrediente"; return(resultado); } //creamos el detalle de la tabla Produccion Formula Batch listaFormulaProduccionBatch.AddRange(CrearListaProduccionFormulaBatch(listaparadetalle, renglon.Formula, batch.FirstLetter, nombrerotomix)); }//aqui termina por batch //aqui llenara la lista var produccionFormula = new ProduccionFormulaInfo(); produccionFormula.Organizacion = new OrganizacionInfo { OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID }; var formulaPL = new FormulaPL(); var todasFormulas = formulaPL.ObtenerTodos(EstatusEnum.Activo); FormulaInfo formula = todasFormulas.FirstOrDefault( fo => fo.Descripcion.ToUpper().Trim().Equals(renglon.Formula.ToUpper().Trim(), StringComparison.InvariantCultureIgnoreCase)); produccionFormula.Formula = formula; produccionFormula.CantidadReparto = sumatoriameta; //cantidad programada produccionFormula.CantidadProducida = sumatoriareal; //cantidad real produccionFormula.FechaProduccion = DateTime.Parse(txtFecha.Text); produccionFormula.Activo = EstatusEnum.Activo; produccionFormula.ProduccionFormulaDetalle = listaFormulaDetalle; //produccionFormula.ProduccionFormulaBatch = ListaGlobalDetalleBatch.Where(batch => batch.Formula.ToUpper().Trim().Equals(produccionFormula.Formula.Descripcion.ToUpper().Trim())).ToList(); produccionFormula.ProduccionFormulaBatch = listaFormulaProduccionBatch; produccionFormula.UsuarioCreacionId = seguridad.Usuario.UsuarioID; ListaGlobal.Add(produccionFormula); } } catch (Exception er) { Logger.Error(er); return(null); } return(resultado); }
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); }
/// <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); } } }