/// <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);
        }
Example #4
0
 /// <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);
        }