/// <summary> /// Método para guardar los valores del contexto /// </summary> private void Guardar() { bool guardar = ValidaGuardar(); if (guardar) { try { var rotomixPL = new RotomixPL(); rotomixPL.Guardar(Contexto); SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); if (Contexto.RotoMixId != 0) { confirmaSalir = false; Close(); } else { InicializaContexto(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(this, Properties.Resources.Rotomix_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.Rotomix_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } } }
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); }
/// <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(txtRotomixID.Text)) { resultado = false; mensaje = Properties.Resources.RotomixEdicion_MsgRotomixIDRequerida; txtRotomixID.Focus(); } else if (Contexto.Organizacion == null || Contexto.Organizacion.OrganizacionID == 0) { resultado = false; mensaje = Properties.Resources.RotomixEdicion_MsgOrganizacionIDRequerida; skAyudaOrganizacion.AsignarFoco(); } else if (string.IsNullOrWhiteSpace(txtDescripcion.Text) || Contexto.Descripcion == string.Empty) { resultado = false; mensaje = Properties.Resources.RotomixEdicion_MsgDescripcionRequerida; txtDescripcion.Focus(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.RotomixEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { int rotomixId = Extensor.ValorEntero(txtRotomixID.Text); string descripcion = txtDescripcion.Text; var rotomixPL = new RotomixPL(); RotoMixInfo rotomix = rotomixPL.ObtenerPorDescripcion(descripcion); if (rotomix != null && (rotomixId == 0 || rotomixId != rotomix.RotoMixId) && rotomix.Organizacion.OrganizacionID == Contexto.Organizacion.OrganizacionID) { resultado = false; mensaje = string.Format(Properties.Resources.RotomixEdicion_MsgDescripcionExistente, rotomix.RotoMixId); } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }
/// <summary> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaRotomix(int inicio, int limite) { try { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var rotomixPL = new RotomixPL(); RotoMixInfo filtros = ObtenerFiltros(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <RotoMixInfo> resultadoInfo = rotomixPL.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; ucPaginacion.AsignarValoresIniciales(); gridDatos.ItemsSource = new List <Rotomix>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Rotomix_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Rotomix_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
public string ValidarCodigoRotomix(ProcesarArchivoInfo renglonArchivo) { var resultado = GetLocalResourceObject("OK").ToString(); var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad == null) { seguridad = new SeguridadInfo(); } var rotomixPl = new RotomixPL(); RotoMixInfo rotoMix = rotomixPl.ObtenerRotoMixXOrganizacionYDescripcion(seguridad.Usuario.Organizacion.OrganizacionID, renglonArchivo.Rotomix); if (rotoMix == null) { resultado = GetLocalResourceObject("rotomix").ToString(); } else { renglonArchivo.RotoMixID = rotoMix.RotoMixId; } return(resultado); }