コード例 #1
0
ファイル: Tablas_new.cs プロジェクト: mattmoll/Merlin
 /// <summary>
 /// Agrega validacion de integridad a una entidad: Reparacion
 /// (Código Fijo)
 /// </summary>
 /// <param name="p_dbcAccess">Conexion a la base de datos</param>
 /// <param name="p_entReparacion">Entidad con los datos a validar</param>
 /// <param name="p_smResult">Estado final de la operacion</param>
 internal static void RepTInt_f(DBConn p_dbcAccess,
                                EReparacion p_entReparacion,
                                ref StatMsg p_smResult)
 {
     // *********
     // Agregar acá las validaciones adicionales
     // *********
 }
コード例 #2
0
ファイル: Tablas_new.cs プロジェクト: mattmoll/Merlin
 /// <summary>
 /// Agrega o modifica un registro de la tabla: Reparaciones
 /// (Código Fijo)
 /// </summary>
 /// <param name="p_dbcAccess">Conexion a la base de datos</param>
 /// <param name="p_entReparacion">Entidad con los datos a procesar</param>
 /// <param name="p_smResult">Estado final de la operacion</param>
 internal static void RepSave_f(DBConn p_dbcAccess,
                                ref EReparacion p_entReparacion,
                                ref StatMsg p_smResult)
 {
     // *********
     // Agregar acá los procesos adicionales
     // *********
 }
コード例 #3
0
        // Constructor Edit
        public AltaOrdenes(int p_iNumeroOrdenTrabajo)
        {
            InitializeComponent();

            // Estado Mofidicar es Verdadero
            m_estadoMofidicar = true;

            // desabilitamos los controles necesarios para que el usuario no pueda interactuar con ellos
            cdcPatente.Enabled = false;

            // Seteamos la el numero de orden trabajo en el TV
            neOrdenTrabajo.Numero = p_iNumeroOrdenTrabajo;

            // Traemos la orden con su lista de items asociada
            m_eOrdenAModificar = Bll.OrdenesTrabajo.Get(p_iNumeroOrdenTrabajo, true, m_smResult);
            if (MsgRuts.AnalizeError(this, m_smResult))
            {
                return;
            }

            // Asignamos los items actuales que tiene la orden a nuestra lista
            m_leOTItems = m_eOrdenAModificar.OTItems;
            // Configuramos los captions de la lista entidad OTItems
            ConfigurarCaptionsLEOitems(m_leOTItems);
            // LLenamos la Grilla con el metodo especial
            FillFromLEOTItemsConAnchoDeColumna(fgControlRepaSeleccionados, m_leOTItems);

            // Configuramos los captions de la lista entidad OTItems
            ConfigurarCaptionsLEOitems(m_leOTItems);

            // LLenamos Las patentes que hay en la tabla y Seteamos la patente seleccionada del movil a la asociada en la OT
            cdcPatente.AddStrCD("patente", m_eOrdenAModificar.Patente, 1);
            cdcPatente.SelectedStrCode = "patente";

            CargarListasEntidadesMiembros();

            // por ultimo obtenemos el numero maximo de agrupador y le sumamos uno.
            m_intNumeroAgrupador = 1;
            foreach (Bel.EOTItem item in m_eOrdenAModificar.OTItems)
            {
                if (m_intNumeroAgrupador < item.Nroagrupador)
                {
                    m_intNumeroAgrupador = item.Nroagrupador;
                }

                // Tenemos que llamar a este metodo para cada item de la orden para que actualice la lista de talleres posibles.
                EReparacion reparacionItem = EReparacion.NewEmpty();
                reparacionItem.Codcat = item.Codcategoria;
                hayTallerQueResuelvaTodo(reparacionItem);
            }

            m_intNumeroAgrupador += 1;

            if (m_eOrdenAModificar.Codtaller.Trim() != "")
            {
                cdcTalleres.SelectedStrCode = m_eOrdenAModificar.Codtaller;
            }
        }
コード例 #4
0
        // Este metodo no solo devuelve el booleando, tiene efecto colateral en la lista miembro de talleres con todas las categorias necesarias.
        private bool hayTallerQueResuelvaTodo(EReparacion p_eRepaSelec)
        {
            // Filtramos los talleres que cumplan con la categoria del item a agregar. Hacemos interseccion con los que actualmente cumplen.
            List <ETallerCategoria> tallerCategorias     = m_leTalleresCategoriasFull.Where(categoria => categoria.Codigocategoria == p_eRepaSelec.Codcat).ToList();
            List <ETallerCategoria> talleresInterseccion = m_leTalleresConTodasLasCategoriasNecesarias.Where(tallerConTodas =>
                                                                                                             tallerCategorias.Any(tallerCategoria => tallerCategoria.Codigotaller == tallerConTodas.Codigotaller)).ToList();

            // Si no hay ningun taller que pueda resolver la orden actual
            if (talleresInterseccion.Count == 0)
            {
                MsgRuts.ShowMsg(this, "No es posible agregar ese item ya que ningun Taller puede resolver todos los Controles/Reparaciones elegidos");
                return(false);
            }
            else
            {
                m_leTalleresConTodasLasCategoriasNecesarias = talleresInterseccion;
                actualizaComboTalleresFiltrados();
                return(true);
            }
        }