Beispiel #1
0
        public void Populate(Fwk.Logging.Targets.Target target)
        {

            _Target = target;
            //grdLogs.BindingContextChanged += new EventHandler(grdLogs_BindingContextChanged);

            Event ev = new Event();
            try
            {
                Events wEvents = _Target.SearchByParam(ev);
                currentEvents = Get_EventGridList(wEvents);
                this.eventGridListBindingSource.DataSource = null;
                this.eventGridListBindingSource.DataSource = currentEvents;

                grdLogs.Refresh();

            }
            catch (InvalidOperationException io)
            {
                MessageBox.Show("El archivo no tiene el formato correcto");

                throw io;
            }
        
        }
Beispiel #2
0
 /// <summary>
 /// Metodo utilizado para lanzar el evento
 /// MenuButtonClick
 /// </summary>
 /// <param name="pButtonClicked">Bot�n presionado</param>
 void LinkButtonClick(Fwk.UI.Controls.Menu.ButtonBase pButtonClicked)
 {
     if (OnLinkButtonClick != null)
     {
         ButtonClickArgs<Fwk.UI.Controls.Menu.ButtonBase> e = new ButtonClickArgs<Fwk.UI.Controls.Menu.ButtonBase>(pButtonClicked);
         OnLinkButtonClick(this, e);
     }
 }
        /// <summary>
        /// Obtiene la imagen de un icono para un messagebox
        /// a partir de su tipo y tama�o
        /// </summary>
        /// <param name="_MessageBoxIcon">Tipo del MessageBoxIcon</param>
        /// <param name="pIconSize">Tama�o del icono</param>
        /// <returns>Imagen resultante.</returns>
        public static Image GetMessageBoxIcon(Fwk.UI.Common.MessageBoxIcon _MessageBoxIcon, IconSize pIconSize)
        {

            Image imgIcon = null;

            switch (_MessageBoxIcon)
            {
                case Fwk.UI.Common.MessageBoxIcon.Exclamation:
                    {
                        imgIcon =
                            (Image)
                            Epiron.Front.Bases.Properties.Resources.ResourceManager.GetObject(
                                string.Concat("exclamation_", (int)pIconSize));

                        break;
                    }
                case Fwk.UI.Common.MessageBoxIcon.Warning:
                    {

                        imgIcon =
                            (Image)
                            Epiron.Front.Bases.Properties.Resources.ResourceManager.GetObject(
                                string.Concat("warning_", (int)pIconSize));
                        break;
                    }
                case Fwk.UI.Common.MessageBoxIcon.Question:
                    {

                        imgIcon =
                            (Image)
                            Epiron.Front.Bases.Properties.Resources.ResourceManager.GetObject(
                                string.Concat("question_", (int)pIconSize));
                        break;
                    }
                case Fwk.UI.Common.MessageBoxIcon.Error:
                    {

                        imgIcon =
                            (Image)
                            Epiron.Front.Bases.Properties.Resources.ResourceManager.GetObject(
                                string.Concat("error_", (int)pIconSize));
                        break;
                    }
                case Fwk.UI.Common.MessageBoxIcon.Information:
                    {

                        imgIcon =
                            (Image)
                            Epiron.Front.Bases.Properties.Resources.ResourceManager.GetObject(
                                string.Concat("information_", (int)pIconSize));

                        break;

                    }
            }

            return imgIcon;
        }
Beispiel #4
0
        /// <summary>
        ///  Agrega un nuevo item a la cache 
        /// Si algun elemento existe con    ese mismo nombre será eliminado antes de que el nuevo value sea agregado.
        /// La expiracion del elemento en cache depende del ultimo momento de uso. 
        /// </summary>
        /// <param name="key">Identifier for this CacheItem</param>
        /// <param name="value">Value to be stored in cache. May be null.</param>
        /// <param name="slidingTime">Cantidad de tiempo (dias minutos segundos) que dura un elemento en cache si no fue accedido en ese tiempo</param>        
        ///<param name="slidingTimeTimeMeasures">Metrica para absoluteTieme</param>
        /// <remarks>Si setrea una expiracion de 20 segundos y el objeto es utilizado dentro de esos 20 segs. el tiempo de expiracion del mismo se prolongara unos 20 seg adicionales
        /// Un ejemplo valido podria ser para cachear sesiones donde se nececita una expiracion dependiendo del ultimo acceso al objeto</remarks>
        public static void Add_WithExpirationTiem(string key, object value, Double slidingTime, Fwk.HelperFunctions.DateFunctions.TimeMeasuresEnum slidingTimeTimeMeasures)
        {
            if (realCache.Contains(key))
                realCache.Remove(key);

            CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
            cacheItemPolicy.Priority = CacheItemPriority.Default;

            #region Set SlidingExpiration
            switch (slidingTimeTimeMeasures)
            {
                case DateFunctions.TimeMeasuresEnum.FromDays:
                    {
                        cacheItemPolicy.SlidingExpiration = TimeSpan.FromDays(slidingTime);
                        break;

                    }
                case DateFunctions.TimeMeasuresEnum.FromHours:
                    {
                        cacheItemPolicy.SlidingExpiration = TimeSpan.FromHours(slidingTime);
                        break;
                    }
                case DateFunctions.TimeMeasuresEnum.FromMinutes:
                    {
                        cacheItemPolicy.SlidingExpiration = TimeSpan.FromMinutes(slidingTime);
                        break;
                    }
                case DateFunctions.TimeMeasuresEnum.FromSeconds:
                    {
                        cacheItemPolicy.SlidingExpiration = TimeSpan.FromSeconds(slidingTime);
                        break;
                    }
            }
            #endregion

            
          
            realCache.Add(key, value, cacheItemPolicy);

        }
Beispiel #5
0
 protected void AddContronToPannel(PanelEnum panelEnum, Fwk.UI.Controls.Menu.Tree.MenuItem item, object obj)
 {
     PanelControl wPanelControl = Get_Panel(panelEnum);
     userContrlManager1.AddContronToPannel(wPanelControl, item, obj);
 }
Beispiel #6
0
        /// <summary>
        /// Muestra el Mensaje
        /// </summary>
        /// <param name="pMessage">Mensaje a mostrar</param>
        /// <param name="pMessageBoxButtons">Specifies constants defining which buttons to display on a System.Windows.Forms.MessageBox.</param>
        /// <param name="MessageBoxIcon">Specifies constants defining which information to display.</param>
        /// <returns>DialogResult</returns>
        public static DialogResult Show(Exception e, String pTitle,
            MessageBoxButtons pMessageBoxButtons, Fwk.UI.Common.MessageBoxIcon? pIcon)
        {


            using (MessageView wfrmMessageView = new MessageView())
            {
                wfrmMessageView.Text = pTitle;

                wfrmMessageView.Message = Fwk.Exceptions.ExceptionHelper.GetAllMessageException(e);

                if (pIcon == null)
                    pIcon = Fwk.UI.Common.MessageBoxIcon.Error;

                wfrmMessageView.MessageBoxIcon = pIcon.Value;

                wfrmMessageView.SetButtonsVisibility(pMessageBoxButtons);


                wfrmMessageView.ShowDialog();

                return wfrmMessageView.DialogResult;
            }
        }
Beispiel #7
0
 public FrmABMPatient(Fwk.Bases.EntityUpdateEnum state)
 {
     InitializeComponent();
     this.State = state;
 }
Beispiel #8
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="profesional"></param>
        /// <param name="user"></param>
        public static void UpdateProfesional(ProfesionalBE profesional, Fwk.Security.Common.User user ,Guid? healthInstitutionId)
        {
            UpdateProfesionalReq req = new UpdateProfesionalReq();

            req.BusinessData.profesional = profesional;
            req.BusinessData.User = user;
            req.BusinessData.HealthInstitutionId = healthInstitutionId;
            req.ContextInformation.UserId = frmBase_TabForm.IndentityUserInfo.ProviderId.ToString();

            req.ContextInformation.AppId = Controller.CurrentHealthInstitution.HealthInstitutionId.ToString();

            UpdateProfesionalRes res = req.ExecuteService<UpdateProfesionalReq, UpdateProfesionalRes>(req);

            if (res.Error != null)
                throw Fwk.Exceptions.ExceptionHelper.ProcessException(res.Error);
            //return res.BusinessData.IdPersona;
        }
Beispiel #9
0
        internal static void FillColumns(TreeNode pTreeNodePadre, Fwk.DataBase.DataEntities.Table pTable)
        {
            if (pTable.IsColumnsLoaded) return;

            Fwk_DataBase.Metadata wMetadata = new Metadata();

            wMetadata.Table_FillColumns(pTable);

            LoadColumnsNodes(pTreeNodePadre, pTable);

        }
 /// <summary>
 /// Establece los valores basicos de error producido en el componente ADHelper
 /// </summary>
 /// <param name="te"></param>
 protected static void SetError(Fwk.Exceptions.TechnicalException te)
 {
     te.Namespace = typeof(ADWrapper).Namespace;
     te.Source = "Fwk active directory component";
     te.UserName = Environment.UserName;
     te.UserName = Environment.MachineName;
 }
Beispiel #11
0
        /// <summary>
        /// Actualiza un simplebuton
        /// </summary>
        /// <param name="ButtonBase_Updated">ButtonBase o item con los nuevos valores
        /// conserva el GUID</param>
        public void Update_ItemFromGroup(Fwk.UI.Controls.Menu.ButtonBase buttonBase_Updated)
        {
            BarGroup wBarGroup = (BarGroup)this.ActiveGroup.Tag;

            //BarGroup wBarGroupX = _MenuBar.GetBy_Guid(wBarGroup.Guid);
            if ((wBarGroup).ContainTree)
            {
                Fwk.UI.Controls.Menu.TreeNodeButton originalButtonBase = wBarGroup.MenuBarTree.GetBy_Guid(buttonBase_Updated.Guid);
           
                originalButtonBase.Map((TreeNodeButton)buttonBase_Updated);
                //wBarGroup.MenuBarTree.
               UC_TreeNavBar treeList = (UC_TreeNavBar)((System.Windows.Forms.Control)(this.ActiveGroup.ControlContainer)).Controls[0];

               treeList.Refresh(); 
            }
            else
            {
                Fwk.UI.Controls.Menu.ButtonBase originalButtonBase = wBarGroup.Buttons.GetBy_Guid(buttonBase_Updated.Guid);
               
                originalButtonBase.Map(buttonBase_Updated);


                //Recorro los items de la ActiveGroup y actuaizo los datos del que tenga como tag el guid que se actualiza
                foreach (NavBarItem link in this.ActiveGroup.NavBar.Items)
                {
                    if (((Fwk.UI.Controls.Menu.ButtonBase)(link.Tag)).Guid.Equals(originalButtonBase.Guid))
                    {
                        if (originalButtonBase.Image != null)
                            link.SmallImage = Fwk.HelperFunctions.TypeFunctions.ConvertByteArrayToImage(originalButtonBase.Image);

                        link.Caption = originalButtonBase.Caption;
                    
                    }

                }
             
         
            }
        }
Beispiel #12
0
        public void Add_ItemToGroup(NavBarGroup pNavBarGroup, Fwk.UI.Controls.Menu.ButtonBase buttonBase)
        {

            if (((BarGroup)pNavBarGroup.Tag).ContainTree)
            {
                Update_UC_TreeNavBar(pNavBarGroup, ((TreeNodeButton)buttonBase));
            }
            else
            {
                Add_ButtonBase(pNavBarGroup, buttonBase, true);
            }
        }
Beispiel #13
0
        void Add_ButtonBase(DevExpress.XtraNavBar.NavBarGroup navBarGroup, Fwk.UI.Controls.Menu.ButtonBase pButtonBase, bool isNew)
        {
            DevExpress.XtraNavBar.NavBarItem navBarItem = new NavBarItem(); 
            BarGroup wBarGroup = (BarGroup)navBarGroup.Tag;

            if (isNew)
                wBarGroup.Buttons.Add(pButtonBase);



            if (pButtonBase.Image != null)
                navBarItem.SmallImage = Fwk.HelperFunctions.TypeFunctions.ConvertByteArrayToImage(pButtonBase.Image);

            if (pButtonBase.LargeImage != null)
                navBarItem.LargeImage = Fwk.HelperFunctions.TypeFunctions.ConvertByteArrayToImage(pButtonBase.LargeImage);

            navBarItem.Caption = pButtonBase.Caption;
            navBarItem.Tag = pButtonBase;
            navBarItem.LinkClicked += new DevExpress.XtraNavBar.NavBarLinkEventHandler(wNavBarItem_LinkClicked);
            navBarGroup.ItemLinks.Add(navBarItem);

        }
Beispiel #14
0
        /// <summary>
        /// Crea una entrada en el visor de eventos
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="eventType"></param>
        public static void LogWinEvent(string msg, Fwk.Logging.EventType eventType)
        {

            Fwk.Logging.Event ev = new Fwk.Logging.Event();
            ev.LogType = eventType;
            ev.Source = "";
            ev.Message.Text = msg;

            try
            {
                if (!logOnWindowsEvent)
                    StaticLogger.Log(TargetType.WindowsEvent, ev, string.Empty, string.Empty);

                Audit(msg);
            }
            catch (System.Security.SecurityException)
            {
                logOnWindowsEvent = false;

            }

        }
Beispiel #15
0
 protected void AddContronToPannel(DevExpress.XtraEditors.PanelControl panel, Fwk.UI.Controls.Menu.Tree.MenuItem item, object obj)
 {
     userContrlManager1.AddContronToPannel(panel,item,obj);
 }
Beispiel #16
0
 void Load_FRM_Document(Fwk.Logging.Targets.Target t)
 {
     FRM_Document wForm ;
     try
     {
         wForm = new FRM_Document();
         wForm.Populate(t);
         wForm.MdiParent = this;
         wForm.Show();
     }
     catch (InvalidOperationException)
     { }
     catch (Exception ex)
     {
         this.ExceptionViewer.Show(ex);
     }
 }
        void AddContronToPannel(Fwk.UI.Controls.Menu.Tree.MenuItem item, object obj)
        {
            using (WaitCursorHelper w = new WaitCursorHelper(this))
            {
                Xtra_UC_Base ctrl = null;
                Type T = Fwk.HelperFunctions.ReflectionFunctions.CreateType(item.AssemblyInfo);

                if (!controls.Contains(string.Concat(T.Name, item.ID)))
                {
                    ctrl = (Xtra_UC_Base)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(item.AssemblyInfo);

                    ctrl.Tag = item.Tag;
                    ctrl.Key = string.Concat(T.Name, item.ID);

                    this.panelControl1.Controls.Add(ctrl);
                    controls.Add(ctrl.Key);
                    ctrl.Dock = System.Windows.Forms.DockStyle.Fill;
                    ctrl.OnExitControlEvent += new EventHandler(ctrl_OnExitControlEvent);
                    ctrl.Populate(obj);

                    //ctrl.Populate(null);
                }
                else
                {
                    int i = this.panelControl1.Controls.IndexOfKey(T.Name);
                    ctrl = (Xtra_UC_Base)this.panelControl1.Controls[i];
                }
                btnClose.Visible = ctrl.ShowClose;
                btnSaveChanges.Visible = ctrl.ShowSave;
                CurrentControl = ctrl;
                ctrl.BringToFront();
                ctrl.Refresh();
            }
        }
Beispiel #18
0
 public void Populate(Fwk.DataBase.CnnString pCnnString)
 {
     txtDatabase.Text = pCnnString.DataSource;
     txtSQLServer.Text = pCnnString.InitialCatalog;
 }
Beispiel #19
0
        internal static void FillParameters(TreeNode pTreeNodePadre, Fwk.DataBase.DataEntities.StoreProcedure pStoreProcedure)
        {
            if (pStoreProcedure.IsParametersLoaded) return;

            Fwk_DataBase.Metadata wMetadata = new Metadata();

            wMetadata.StoreProcedures_FillParameters(pStoreProcedure);

            LoadParameteresNodes(pTreeNodePadre, pStoreProcedure);

        }
Beispiel #20
0
        internal void Populate(PersonaBE persona, Fwk.Bases.EntityUpdateEnum state)
        {
            Persona = persona;
            State = state;

            _AnteriorFechaNacimiento = persona.FechaNacimiento;

            txtApellido.Text = Persona.Apellido;
            txtNombres.Text = Persona.Nombre;
            txtDocumento.Text = Persona.NroDocumento;
            cmbTipoDoc.EditValue = Persona.TipoDocumento;
            if (Persona.Foto != null)
            {
                this.pictureEdit1.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Stretch;
                pictureEdit1.Image = Fwk.HelperFunctions.TypeFunctions.ConvertByteArrayToImage(Persona.Foto);
            }

            if (Persona.Foto == null)
                this.pictureEdit1.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Clip;
            if (Persona.Sexo.Equals((Int16)Sexo.Masculino))
            {
                rndSexoM.Checked = true;
                if (Persona.Foto == null)
                    pictureEdit1.Image = Health.Front.Properties.Resources.User_M;
            }
            else
            {
                rndSexoF.Checked = true;
                if (Persona.Foto == null)
                    pictureEdit1.Image = Health.Front.Properties.Resources.User_F;
            }


            int index = 0;
            if (State == Fwk.Bases.EntityUpdateEnum.NEW)
            {
                dtFechaNac.EditValue = DateTime.Now;
                index = cmbTipoDoc.Properties.GetDataSourceRowIndex("IdParametro", "610");
                cmbTipoDoc.ItemIndex = index;
            }
            else
            {
                dtFechaNac.EditValue = Persona.FechaNacimiento;
                index = cmbEstadoCivil.Properties.GetDataSourceRowIndex("IdParametro", Persona.IdEstadocivil);
                cmbEstadoCivil.ItemIndex = index;

                index = cmbTipoDoc.Properties.GetDataSourceRowIndex("IdParametro", Persona.TipoDocumento);
                cmbTipoDoc.ItemIndex = index;

                btnBuscar.Visible = false;
            }

            //bool admin_person_abm = FormBase.CheckRule("admin_person_edit_info");
            //cmbEstadoCivil.Enabled = admin_person_abm;
            //cmbTipoDoc.Enabled = admin_person_abm;
            //txtNombres.Enabled = admin_person_abm;
            //txtApellido.Enabled = admin_person_abm;
            //txtDocumento.Enabled = admin_person_abm;

            //rndSexoF.Enabled = admin_person_abm;
            //rndSexoM.Enabled = admin_person_abm;
            //pictureEdit1.Enabled = admin_person_abm;

            //btnBuscar.Enabled = admin_person_abm;
            //dtFechaNac.Enabled = admin_person_abm;
        }
Beispiel #21
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="profesional">ProfesionalBE</param>
        /// <param name="userName">Nombre de usuario para inicio de sesión al sistema</param>
        /// <returns></returns>
        public static int CrearProfesional(ProfesionalBE profesional, Fwk.Security.Common.User user)
        {
            CrearProfesionalReq req = new CrearProfesionalReq();

            req.BusinessData.profesional = profesional;
            req.BusinessData.User = user;
            req.ContextInformation.UserId = frmBase_TabForm.IndentityUserInfo.ProviderId.ToString();
            req.ContextInformation.AppId = Controller.CurrentHealthInstitution.HealthInstitutionId.ToString();

            CrearProfesionalRes res = req.ExecuteService<CrearProfesionalReq, CrearProfesionalRes>(req);

            if (res.Error != null)
                throw Fwk.Exceptions.ExceptionHelper.ProcessException(res.Error);
            return res.BusinessData.IdProfesional;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="luncherControl"></param>
        /// <param name="panelEnum"></param>
        /// <param name="menuItem"></param>
        /// <param name="populateObject"></param>
        protected void ctrl_OnLunchUserControlEvent(Xtra_UC_Base luncherControl, PanelEnum panelEnum, Fwk.UI.Controls.Menu.Tree.MenuItem menuItem, Object populateObject)
        {

            AddContronToPannel(panelEnum, menuItem, populateObject);
        }
Beispiel #23
0
        /// <summary>
        /// Esta funcion utiliza chequea el loging de un usuario contra un dominio
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <param name="logError"></param>
        /// <returns></returns>
        public LoginResult User_Logon(string userName, string password, out Fwk.Exceptions.TechnicalException logError)
        {
            LoginResult wLoginResult = LoginResult.LOGIN_OK;
            Win32Exception win32Error = null;
            logError = null;
            SafeTokenHandle safeTokenHandle;

            #region Busco el usuario con un DirectoryEntry con usuario administrador


            this.User_Get(userName, password, out wLoginResult);

            if (wLoginResult == LoginResult.ERROR_SERVER_IS_NOT_OPERATIONAL)
            {
                win32Error = new Win32Exception();
                logError = new Fwk.Exceptions.TechnicalException(win32Error.Message);
                LDAPHelper.SetError(logError);
                logError.ErrorId = "15004";
                logError.Source = string.Concat(logError.Source, Environment.NewLine, win32Error.Source);
                return wLoginResult;
            }
            #endregion
            if (wLoginResult == LoginResult.LOGIN_OK) return wLoginResult;

            //obtain a handle to an access token.
            bool returnValue = LogonUser(userName, _DomainUrlInfo.DomainName, password,
                (int)LOGON32.LOGON32_LOGON_INTERACTIVE,
                (int)LOGON32.LOGON32_PROVIDER_DEFAULT,
               out safeTokenHandle);




            if (!returnValue)
            {
                int ret = GetLastError();
                win32Error = new Win32Exception();
                logError = new Fwk.Exceptions.TechnicalException(win32Error.Message);
                LDAPHelper.SetError(logError);
                logError.ErrorId = "15004";
                logError.Source = string.Concat(logError.Source, Environment.NewLine, win32Error.Source);


            }



            return wLoginResult;


        }
 public void AddContronToPannel(PanelEnum panelEnum, Fwk.UI.Controls.Menu.Tree.MenuItem item, object obj)
 {
     PanelControl wPanelControl = ((IfrmMainBase)_ParentForm).Get_Panel(panelEnum);
     AddContronToPannel(wPanelControl, item, obj);
 }
Beispiel #25
0
        /// <summary>
        /// Muestra el Mensaje
        /// </summary>
        /// <param name="pMessage">Mensaje a mostrar</param>
        /// <param name="pMessageBoxButtons">Specifies constants defining which buttons to display on a System.Windows.Forms.MessageBox.</param>
        /// <param name="MessageBoxIcon">Specifies constants defining which information to display.</param>
        /// <returns>DialogResult</returns>
        public static DialogResult Show(String pMessage, String pTitle,
            MessageBoxButtons pMessageBoxButtons, Fwk.UI.Common.MessageBoxIcon pIcon)
        {


            using (MessageView wfrmMessageView = new MessageView())
            {
                wfrmMessageView.Text = pTitle;
                wfrmMessageView.Message = pMessage;
                wfrmMessageView.MessageBoxIcon = pIcon;

                wfrmMessageView.SetButtonsVisibility(pMessageBoxButtons);
                
                wfrmMessageView.ShowDialog();

                return wfrmMessageView.DialogResult;
            }
        }
        public void AddContronToPannel(DevExpress.XtraEditors.PanelControl panel, Fwk.UI.Controls.Menu.Tree.MenuItem item, object obj)
        {
            using (WaitCursorHelper w = new WaitCursorHelper(_ParentForm))
            {
                Xtra_UC_Base ctrl = null;
                Type T = null;
                try
                {
                    T = Fwk.HelperFunctions.ReflectionFunctions.CreateType(item.AssemblyInfo);
                }

                catch (FileNotFoundException fe)
                {

                    TechnicalException te = new Fwk.Exceptions.TechnicalException(String.Concat("No se puede cargar el user control por q falta el archivo ", fe.FileName, "\r\n o alguna dependencia"));
                    throw te;

                }
                catch (System.TypeLoadException)
                {
                    TechnicalException te = null;
                    if (item.AssemblyInfo.Split(',').Count() == 2)
                        te = new Fwk.Exceptions.TechnicalException(String.Concat("No se puede cargar el user control [", item.AssemblyInfo.Split(',')[0], "] en el archivo ", item.AssemblyInfo.Split(',')[1]));

                    te = new Fwk.Exceptions.TechnicalException(String.Concat("No se puede cargar el user control definido en [", item.AssemblyInfo, "]"));
                    throw te;

                }
                catch (Exception ex)
                {
                    TechnicalException te = new TechnicalException(String.Concat("No se puede cargar el user control ", item.AssemblyInfo, " ", ex.Message));
                    throw te;
                }

                
                if (!controls.Contains(string.Concat(T.FullName, item.ID)))
                {
                    ctrl = (Xtra_UC_Base)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(item.AssemblyInfo);
                    ctrl.ParentPanel = panel;
                    ctrl.Tag = item.Tag;
                    ctrl.Key = item.ID.ToString();

                    panel.Controls.Add(ctrl);
                    controls.Add(ctrl.Key);
                    ctrl.Dock = System.Windows.Forms.DockStyle.Fill;
                    ctrl.OnExitControlEvent += new ExitControlHandler(ctrl_OnExitControlEvent);
                    ctrl.OnLunchUserControlEvent += ctrl_OnLunchUserControlEvent;
                    ctrl.Populate(obj);

                }
                else
                {
                    ctrl = GetControlFromPanel(string.Concat(T.FullName, item.ID), panel);
                }
                CurrentControl = ctrl;
                ctrl.BringToFront();
                ctrl.Refresh();
            }
        }
Beispiel #27
0
        /// <summary>
        /// Aqui se cargan por unica vez los Domain Controllers y DomainUrlInfoList
        /// </summary>
        //void LoadControllersFromDatabase(string pConnString)
        //{
        ///TODO: Aqui se debera agregar la utilizacion de un diccionario para mentener los valores por cada cadena de conexion
        /// hay que usar _DomainControllerDictionary y _DomainUrlInfoDictionary
        /// 
        ///Se comenta por que en teoria no se usaria mas.. directamente se obtendra _DomainUrlInfo necesario
        //if (_DomainUrlInfoList == null)
        //{
        //    _DomainUrlInfoList = DomainsUrl_GetList2(System.Configuration.ConfigurationManager.ConnectionStrings[pConnString].ConnectionString);

        //    if (_DomainUrlInfoList == null)

        //        throw new Fwk.Exceptions.TechnicalException("Error al intentar obtener la lista de dominios: La lista se encuentra vacía.");

        //}
        //if (_DomainControllers == null)
        //{
        //    _DomainControllers = GetDomainControllersByDomainId(System.Configuration.ConfigurationManager.ConnectionStrings[pConnString].ConnectionString, _DomainUrlInfo.Id);
        //    if (_DomainControllers == null || _DomainControllers.Count == 0)
        //        throw new Fwk.Exceptions.TechnicalException("No se encuentra configurado ningún controlador de dominio para el sitio especificado.");
        //}

        //}
        #endregion

        #region Funciones que no usan LDAP en C++

        /// <summary>
        /// Esta funcion utiliza chequea el loging de un usuario contra un dominio
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <param name="logError"></param>
        /// <returns></returns>
        public LoginResult User_Logon(string userName, string password, out Fwk.Exceptions.TechnicalException logError)
        {
            LoginResult wLoginResult = LoginResult.LOGIN_OK;
            Win32Exception win32Error = null;
            logError = null;
            SafeTokenHandle safeTokenHandle;

            #region Busco el usuario con un DirectoryEntry con usuario administrador

          
                this.User_Get(userName, password, out wLoginResult);
           
            if (wLoginResult == LoginResult.ERROR_SERVER_IS_NOT_OPERATIONAL)
            {
                win32Error = new Win32Exception();
                logError = new Fwk.Exceptions.TechnicalException(win32Error.Message);
                LDAPHelper.SetError(logError);
                logError.ErrorId = "15004";
                logError.Source = string.Concat(logError.Source, Environment.NewLine, win32Error.Source);
                return wLoginResult;
            }
            #endregion
            if (wLoginResult == LoginResult.LOGIN_OK) return wLoginResult;

            //obtain a handle to an access token.
            bool returnValue = LogonUser(userName, _DomainUrlInfo.DomainName, password,
                (int)LOGON32.LOGON32_LOGON_INTERACTIVE,
                (int)LOGON32.LOGON32_PROVIDER_DEFAULT,
               out safeTokenHandle);




            if (!returnValue)
            {
                int ret = GetLastError();//int ret = Marshal.GetLastWin32Error();
                win32Error = new Win32Exception();
                logError = new Fwk.Exceptions.TechnicalException(win32Error.Message);
                LDAPHelper.SetError(logError);
                logError.ErrorId = "15004";
                logError.Source = string.Concat(logError.Source, Environment.NewLine, win32Error.Source);

                #region old code
                //switch (ret)
                //{
                //    case (126):

                //        return LoginResult.LOGIN_USER_OR_PASSWORD_INCORRECT;


                //    case (1314):
                //        return LoginResult.LOGIN_OK;

                //    case (1326):
                //        return LoginResult.LOGIN_USER_OR_PASSWORD_INCORRECT;

                //    default:
                //        throw new Exception(
                //                "Unexpected Logon Failure. Contact Administrator");
                //}

                //throw new System.ComponentModel.Win32Exception(ret);
                #endregion
            }

            #region old code
            //using (safeTokenHandle)
            //{
            //    err = string.Concat("Did LogonUser Succeed? " + (returnValue ? "Yes" : "No"));
            //    err = string.Concat("Value of Windows NT token: " + safeTokenHandle);

            // Check the identity.
            ///////Console.WriteLine("Before impersonation: "        + WindowsIdentity.GetCurrent().Name);
            // Use the token handle returned by LogonUser.
            //WindowsIdentity newId = new WindowsIdentity(safeTokenHandle.DangerousGetHandle());
            //using (WindowsImpersonationContext impersonatedUser = newId.Impersonate())
            //{

            //    // Check the identity.
            //    Console.WriteLine("After impersonation: " + WindowsIdentity.GetCurrent().Name);
            //}
            // Releasing the context object stops the impersonation
            // Check the identity.
            //Console.WriteLine("After closing the context: " + WindowsIdentity.GetCurrent().Name);
            //}
            #endregion

            return wLoginResult;


        }
 public frmProfesionalCard(Fwk.Bases.EntityUpdateEnum state, int idProfesional)
 {
     InitializeComponent();
     this.State = state;
     this._IdProfesional = idProfesional;
 }