Exemplo n.º 1
0
 private void NewUserFormShown(object sender, EventArgs e)
 {
     using (var db = new ApplicationEntitie(0))
     {
         ccbRoles.Properties.DataSource = db.Roles.ToList();
     }
 }
Exemplo n.º 2
0
 /// <summary>
 ///     Вернуть внешний вид для объекта в значение по умолчанию
 /// </summary>
 /// <param name="form">форма</param>
 /// <param name="name">имя объекта</param>
 /// <param name="pc">Объект, для которого необходимо вернуть состояние</param>
 /// <returns>Возвращается массив байтов</returns>
 public static void SaveDefaultLayout(this Form form, string name, Control pc)
 {
     using (var db = new ApplicationEntitie(0))
     {
         if (form == null)
         {
             throw new ArgumentException("Форма не задана");
         }
         var tableName = form.Name + "." + name;
         var layout    = pc.GetLayoutData();
         var defLayout = db.DefaultLayouts.FirstOrDefault(dl => dl.TableName == tableName);
         if (defLayout == null)
         {
             defLayout = new DefaultLayout
             {
                 TableName = tableName,
                 Layout    = layout
             };
             db.DefaultLayouts.Add(defLayout);
         }
         else if (!db.DefaultLayouts.Any(dl => dl.cs_Layout == SqlFunctions.Checksum(layout)))
         {
             defLayout.Layout = layout;
         }
         db.SaveChanges();
     }
 }
Exemplo n.º 3
0
 /// <summary>
 ///     Загрузить настройки внешнего вида для формы
 /// </summary>
 /// <param name="form">форма</param>
 /// <param name="xml">Xml с настройками внешнего вида формы</param>
 public static void DefaultFormState_InsertUpdate(this Form form, string xml)
 {
     using (var dbAdmin = new ApplicationEntitie(0))
     {
         try
         {
             if (!dbAdmin.DefaultFormStates.Any(f => f.FormName == form.Name))
             {
                 var defauleRule = new DefaultFormState
                 {
                     FormName = form.Name,
                     DefaultXml = xml
                 };
                 dbAdmin.DefaultFormStates.Add(defauleRule);
             }
             else
             {
                 dbAdmin.DefaultFormStates.First(f => f.FormName == form.Name)
                     .DefaultXml = xml;
             }
             dbAdmin.SaveChanges();
         }
         catch (Exception ex)
         {
             DBException.WriteLog(ex);
         }
     }
 }
Exemplo n.º 4
0
        /// <summary>
        ///     Сохранить текущий внешний вид для объекта класса
        ///     <see cref="T:DevExpress.XtraGrid.GridControl" />
        ///     в базу данных
        /// </summary>
        /// <param name="control">Контрол для сохранения настроек</param>
        public static void SaveLastLayout(this Control control)
        {
            var tableName = control.UniqueName();

            using (var db = new ApplicationEntitie(0))
            {
                var layout     = control.GetLayoutData();
                var userLayout = db.UserLayouts.FirstOrDefault(ul => ul.UserId == DBUser.Working.Id && ul.TableName == tableName && ul.LayoutType == 2);
                if (userLayout != null)
                {
                    userLayout.Layout = layout;
                }
                else
                {
                    userLayout = new UserLayout
                    {
                        Layout     = layout,
                        TableName  = tableName,
                        LayoutType = 2,
                        UserId     = DBUser.Working.Id
                    };
                    db.UserLayouts.Add(userLayout);
                }
                db.SaveChanges();
            }
        }
Exemplo n.º 5
0
 /// <summary>
 ///     Загрузить настройки внешнего вида для формы
 /// </summary>
 /// <param name="form">форма</param>
 /// <param name="xml">Xml с настройками внешнего вида формы</param>
 public static void DefaultFormState_InsertUpdate(this Form form, string xml)
 {
     using (var dbAdmin = new ApplicationEntitie(0))
     {
         try
         {
             if (!dbAdmin.DefaultFormStates.Any(f => f.FormName == form.Name))
             {
                 var defauleRule = new DefaultFormState
                 {
                     FormName   = form.Name,
                     DefaultXml = xml
                 };
                 dbAdmin.DefaultFormStates.Add(defauleRule);
             }
             else
             {
                 dbAdmin.DefaultFormStates.First(f => f.FormName == form.Name)
                 .DefaultXml = xml;
             }
             dbAdmin.SaveChanges();
         }
         catch (Exception ex)
         {
             DBException.WriteLog(ex);
         }
     }
 }
Exemplo n.º 6
0
        /// <summary>
        ///     Сохранить текущий внешний вид для объекта класса
        ///     <see cref="T:DevExpress.XtraGrid.GridControl" />
        ///     в базу данных
        /// </summary>
        /// <param name="formName">Имя формы</param>
        /// <param name="controlName">Имя контрола</param>
        /// <param name="layout">Массив настроек контрола</param>
        /// <param name="layoutType">Тип сохранения контрола</param>
        public static UserLayout UserLayout_InsertUpdate(string formName, string controlName, byte[] layout, int layoutType = 1)
        {
            UserLayout userLayout;
            var        name = formName + "." + controlName;

            using (var db = new ApplicationEntitie(0))
            {
                userLayout = db.UserLayouts.FirstOrDefault(ul => ul.UserId == DBUser.Working.Id &&
                                                           ul.TableName == name && ul.LayoutType == layoutType);
                if (userLayout != null)
                {
                    userLayout.Layout = layout;
                }
                else
                {
                    userLayout = new UserLayout
                    {
                        Layout     = layout,
                        TableName  = name,
                        LayoutType = layoutType,
                        UserId     = DBUser.Working.Id
                    };
                    db.UserLayouts.Add(userLayout);
                }
                db.SaveChanges();
            }
            return(userLayout);
        }
Exemplo n.º 7
0
 /// <summary>
 ///     Получить пользователя по Id
 /// </summary>
 /// <param name="id">Id пользователя</param>
 /// <returns>Объект пользователя</returns>
 public static User Users_Select_Id(int id)
 {
     using (var db = new ApplicationEntitie(0))
     {
         return(db.Users.Include(u => u.Roles)
                .First(u => u.Id == id));
     }
 }
Exemplo n.º 8
0
 public static void Refresh <T>(this ApplicationEntitie db) where T : class
 {
     foreach (var entity in db.Set <T>())
     {
         db.Entry(entity).State = EntityState.Detached;
     }
     db.Set <T>().Load();
 }
Exemplo n.º 9
0
 /// <summary>
 ///     Получить всех пользователей в виде массива
 /// </summary>
 /// <returns>Массив объектов пользователей</returns>
 public static List <User> Users_SelectNotLocked()
 {
     using (var db = new ApplicationEntitie(0))
     {
         return(db.Users
                .Where(u => !u.IsLocked)
                .ToList());
     }
 }
Exemplo n.º 10
0
 /// <summary>
 ///     Загрузить состояние контролов по умолчанию для формы
 /// </summary>
 /// <param name="form">Форма для загрузки настроек</param>
 public static string DefaultFormState_Load_FormName(this Form form)
 {
     using (var dbAdmin = new ApplicationEntitie(0))
     {
         return dbAdmin.DefaultFormStates.Any(f => f.FormName == form.Name)
             ? dbAdmin.DefaultFormStates.First(f => f.FormName == form.Name).DefaultXml
             : null;
     }
 }
Exemplo n.º 11
0
 /// <summary>
 ///     Загрузить состояние контролов по умолчанию для формы
 /// </summary>
 /// <param name="form">Форма для загрузки настроек</param>
 public static string DefaultFormState_Load_FormName(this Form form)
 {
     using (var dbAdmin = new ApplicationEntitie(0))
     {
         return(dbAdmin.DefaultFormStates.Any(f => f.FormName == form.Name)
             ? dbAdmin.DefaultFormStates.First(f => f.FormName == form.Name).DefaultXml
             : null);
     }
 }
Exemplo n.º 12
0
 /// <summary>
 ///     Получить настройки для ролей данного пользователя для заданной формы
 /// </summary>
 /// <param name="form">Заданная формы</param>
 /// <returns>Список xml с настройками</returns>
 public static List<string> RolesRule_Load_FormName(this Form form)
 {
     using (var dbAdmin = new ApplicationEntitie(0))
     {
         var rolesId = DBUser.Working.Roles.Select(r => r.Id);
         return (from rr in dbAdmin.RolesRules
                 where rolesId.Contains(rr.RoleId) && rr.FormName == form.Name
                 select rr.ControlsXML).ToList();
     }
 }
Exemplo n.º 13
0
 /// <summary>
 ///     Получить настройки для ролей данного пользователя для заданной формы
 /// </summary>
 /// <param name="form">Заданная формы</param>
 /// <returns>Список xml с настройками</returns>
 public static List <string> RolesRule_Load_FormName(this Form form)
 {
     using (var dbAdmin = new ApplicationEntitie(0))
     {
         var rolesId = DBUser.Working.Roles.Select(r => r.Id);
         return((from rr in dbAdmin.RolesRules
                 where rolesId.Contains(rr.RoleId) && rr.FormName == form.Name
                 select rr.ControlsXML).ToList());
     }
 }
Exemplo n.º 14
0
 /// <summary>
 ///     Получить пользователя по Id
 /// </summary>
 /// <param name="user">Пользователь</param>
 /// <param name="password">Новый пароль</param>
 /// <returns>Объект пользователя</returns>
 public static bool UpdatePassword(this User user, string password)
 {
     user.UserPassword = password;
     using (var db = new ApplicationEntitie(0))
     {
         db.Users.Find(user.Id)
         .UserPassword = password;
         db.SaveChanges();
         return(true);
     }
 }
Exemplo n.º 15
0
 /// <summary>
 ///     Получить список ролей для текущего пользователя
 /// </summary>
 /// <returns>Строка с перечисленными ролями пользователя</returns>
 public static string GetRolesIdStrin(this User user)
 {
     var result = new StringBuilder();
     using (var db = new ApplicationEntitie(0))
     {
         var roles = db.Users.First(u => u.Id == user.Id).Roles;
         foreach (var role in roles)
         {
             result.Append(role.Id + " ");
         }
     }
     return result.ToString();
 }
Exemplo n.º 16
0
        /// <summary>
        ///     Получить список ролей для текущего пользователя
        /// </summary>
        /// <returns>Строка с перечисленными ролями пользователя</returns>
        public static string GetRolesIdStrin(this User user)
        {
            var result = new StringBuilder();

            using (var db = new ApplicationEntitie(0))
            {
                var roles = db.Users.First(u => u.Id == user.Id).Roles;
                foreach (var role in roles)
                {
                    result.Append(role.Id + " ");
                }
            }
            return(result.ToString());
        }
Exemplo n.º 17
0
 public static void Add(this ApplicationEntitie db, object entity)
 {
     try
     {
         if (db.Entry(entity).State != EntityState.Added)
         {
             db.Entry(entity).State = EntityState.Added;
         }
     }
     catch (Exception e)
     {
         DBException.WriteLog(e);
     }
 }
Exemplo n.º 18
0
 public virtual void RefreshData()
 {
     if (DesignMode)
     {
         return;
     }
     if (CheckToSaveData() == DialogResult.Cancel)
     {
         return;
     }
     if (DBAppContext != null)
     {
         DBAppContext = new ApplicationEntitie(0);
     }
 }
Exemplo n.º 19
0
 public static bool CheckExist(this ApplicationEntitie db, object entity)
 {
     try
     {
         if (db.Entry(entity).State != EntityState.Detached)
         {
             return(true);
         }
     }
     catch (Exception)
     {
         return(false);
     }
     return(false);
 }
Exemplo n.º 20
0
 /// <summary>
 ///     Удалить пароль пользователя
 /// </summary>
 /// <param name="user">Пользователь</param>
 public static bool Users_RemovePassword_Id(this User user)
 {
     if (XtraMessageBox.Show("Вы уверены, что хотите удалить пароль сотрудника?", "Удаление пароля",
                             MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
     {
         return(false);
     }
     user.UserPassword = null;
     using (var db = new ApplicationEntitie(0))
     {
         db.Users.Find(user.Id)
         .UserPassword = null;
         db.SaveChanges();
         return(true);
     }
 }
Exemplo n.º 21
0
        /// <summary>
        ///     Применить настройку внешнего вида для объекта из таблицы настроек по умолчанию
        /// </summary>
        /// <param name="form">Форма на которой находится объект</param>
        /// <param name="name">Название объекта</param>
        /// <param name="control">Объект</param>
        public static void AcceptDefaultLayoutForControl(this Form form, string name, Control control)
        {
            ISupportXtraSerializer sxs = null;
            var gc = control as GridControl;

            if (gc != null)
            {
                sxs = gc.MainView;
            }
            else
            {
                var pv = control as PivotGridControl;
                if (pv != null)
                {
                    sxs = pv;
                }
                else
                {
                    var tl = control as TreeList;
                    if (tl != null)
                    {
                        sxs = tl;
                    }
                }
            }
            if (sxs == null)
            {
                return;
            }
            using (var db = new ApplicationEntitie(0))
            {
                var tableName = form.Name + "." + name;
                var defLayout = db.DefaultLayouts.FirstOrDefault(dl => dl.TableName == tableName);
                if (defLayout == null)
                {
                    MessageWindow.GetInstance("Для данной формы не найдено начальное состояние.");
                    return;
                }
                sxs.RestoreLayoutSerializingFromStream(defLayout.Layout);
            }
            var tuner = control.GetControlTuner() as ILayoutTuner;

            if (tuner != null)
            {
                tuner.LoadPropertiesFromXml(control, FormControls.XmlDocumentFromStrinList(form.GetXmlSettings()));
            }
        }
Exemplo n.º 22
0
 /// <summary>
 ///     Вернуть последний сохранённый Layout для объекта
 /// </summary>
 /// <param name="form">форма</param>
 /// <param name="name">имя объекта</param>
 /// <returns>Возвращается массив байтов</returns>
 public static byte[] GetLastLayout(this Form form, string name)
 {
     using (var db = new ApplicationEntitie(0))
     {
         if (form == null)
         {
             throw new ArgumentException("Форма не задана");
         }
         var tableName  = form.Name + "." + name;
         var userlayout = db.UserLayouts.FirstOrDefault(ul => ul.UserId == DBUser.Working.Id && ul.TableName == tableName && ul.LayoutType == 2);
         if (userlayout != null)
         {
             return(userlayout.Layout);
         }
     }
     return(null);
 }
Exemplo n.º 23
0
 /// <summary>
 ///     Применить настройку внешнего вида для объекта из таблицы настроек по умолчанию
 /// </summary>
 /// <param name="form">Форма на которой находится объект</param>
 /// <param name="name">Название объекта</param>
 /// <param name="control">Объект</param>
 public static void AcceptDefaultLayoutForControl(this Form form, string name, Control control)
 {
     ISupportXtraSerializer sxs = null;
     var gc = control as GridControl;
     if (gc != null)
     {
         sxs = gc.MainView;
     }
     else
     {
         var pv = control as PivotGridControl;
         if (pv != null)
         {
             sxs = pv;
         }
         else
         {
             var tl = control as TreeList;
             if (tl != null)
             {
                 sxs = tl;
             }
         }
     }
     if (sxs == null)
     {
         return;
     }
     using (var db = new ApplicationEntitie(0))
     {
         var tableName = form.Name + "." + name;
         var defLayout = db.DefaultLayouts.FirstOrDefault(dl => dl.TableName == tableName);
         if (defLayout == null)
         {
             MessageWindow.GetInstance("Для данной формы не найдено начальное состояние.");
             return;
         }
         sxs.RestoreLayoutSerializingFromStream(defLayout.Layout);
     }
     var tuner = control.GetControlTuner() as ILayoutTuner;
     if (tuner != null)
     {
         tuner.LoadPropertiesFromXml(control, FormControls.XmlDocumentFromStrinList(form.GetXmlSettings()));
     }
 }
Exemplo n.º 24
0
 public static void Remove(this ApplicationEntitie db, object entity)
 {
     try
     {
         if (db.Entry(entity).State == EntityState.Added)
         {
             db.Entry(entity).State = EntityState.Detached;
         }
         else if (db.Entry(entity).State != EntityState.Deleted)
         {
             db.Entry(entity).State = EntityState.Deleted;
         }
     }
     catch (Exception e)
     {
         DBException.WriteLog(e);
     }
 }
Exemplo n.º 25
0
        /// <summary>
        ///     Сохранить текущий внешний вид для объекта класса
        ///     <see cref="T:DevExpress.XtraGrid.GridControl" />
        ///     в базу данных
        /// </summary>
        /// <param name="formName">Имя формы</param>
        /// <param name="controlName">Имя контрола</param>
        /// <param name="layoutName">Название сохранённой настройки</param>
        /// <param name="layout">Массив настроек контрола</param>
        /// <param name="layoutType">Тип сохранения контрола</param>
        public static UserLayout UserLayout_Insert(string formName, string controlName, string layoutName, byte[] layout, int layoutType = 1)
        {
            UserLayout userLayout;
            var        name = formName + "." + controlName;

            using (var db = new ApplicationEntitie(0))
            {
                userLayout = new UserLayout
                {
                    Layout     = layout,
                    TableName  = name,
                    LayoutType = layoutType,
                    LayoutName = layoutName,
                    UserId     = DBUser.Working.Id
                };
                db.UserLayouts.Add(userLayout);
                db.SaveChanges();
            }
            return(userLayout);
        }
Exemplo n.º 26
0
        public static bool HasAnyRelationships(this ApplicationEntitie db, Func <ObjectStateEntry, int, object> getValue)
        {
            db.ChangeTracker.DetectChanges();
            var objectContext = ((IObjectContextAdapter)db).ObjectContext;

            return(objectContext
                   .ObjectStateManager
                   .GetObjectStateEntries(EntityState.Added)
                   .Where(e => e.IsRelationship)
                   .Select(e => Tuple.Create(
                               objectContext.GetObjectByKey((EntityKey)getValue(e, 0)),
                               objectContext.GetObjectByKey((EntityKey)getValue(e, 1))))
                   .Any() || objectContext
                   .ObjectStateManager
                   .GetObjectStateEntries(EntityState.Deleted)
                   .Any(e => e.IsRelationship));

            //                       .Select(e => Tuple.Create(
            //                                                 objectContext.GetObjectByKey((EntityKey) getValue(e, 0)),
            //                                                 objectContext.GetObjectByKey((EntityKey) getValue(e, 1)))).Any();
        }
Exemplo n.º 27
0
        /// <summary>
        ///     Получить список всех ролей из базы данных
        /// </summary>
        /// <param name="db">DBContext</param>
        /// <param name="formName">Название формы</param>
        /// <param name="roleId">Id роли</param>
        /// <returns>Настройки для формы</returns>
        public static string RolesRule_GetFormXML(this ApplicationEntitie db, string formName, int roleId)
        {
            string result   = null;
            var    roleRule = db.Where <RolesRule>(rr => rr.FormName.Equals(formName) && rr.RoleId == roleId).FirstOrDefault();

            if (roleRule == null)
            {
                if (db.Where <DefaultFormState>(f => f.FormName == formName).Any())
                {
                    result = db
                             .Where <DefaultFormState>(f => f.FormName == formName)
                             .First()
                             .DefaultXml;
                }
            }
            else
            {
                result = roleRule.ControlsXML;
            }
            return(result);
        }
Exemplo n.º 28
0
        private void CreateClick(object sender, EventArgs e)
        {
            errorProvider.ClearErrors();
            if (!ValidateChildren() || errorProvider.HasErrors)
            {
                DialogResult = DialogResult.None;
                return;
            }
            var user = new User
            {
                LastName   = ParseToDefaultForm(txtLastName.Text),
                FirstName  = ParseToDefaultForm(txtFirstName.Text),
                MiddleName = ParseToDefaultForm(txtMiddleName.Text)
            };
            var newPass = new ChangePasswordForm().NewPassword();

            if (newPass == null)
            {
                DialogResult = DialogResult.None;
                return;
            }
            user.UserPassword = Security.CreateHash(newPass);
            using (var dbUser = new ApplicationEntitie(0))
            {
                var roles = ccbRoles.Properties.Items.Cast <CheckedListBoxItem>()
                            .
                            Where(item => item.CheckState == CheckState.Checked)
                            .
                            Select(r => (int)r.Value);
                foreach (var role in dbUser.Roles.Where(rr => roles.Contains(rr.Id)))
                {
                    dbUser.Roles.Attach(role);
                    user.Roles.Add(role);
                }
                dbUser.Users.Add(user);
                dbUser.SaveChanges();
                NewUser = user;
            }
        }
Exemplo n.º 29
0
 private void CreateClick(object sender, EventArgs e)
 {
     errorProvider.ClearErrors();
     if (!ValidateChildren() || errorProvider.HasErrors)
     {
         DialogResult = DialogResult.None;
         return;
     }
     var user = new User
     {
         LastName = ParseToDefaultForm(txtLastName.Text),
         FirstName = ParseToDefaultForm(txtFirstName.Text),
         MiddleName = ParseToDefaultForm(txtMiddleName.Text)
     };
     var newPass = new ChangePasswordForm().NewPassword();
     if (newPass == null)
     {
         DialogResult = DialogResult.None;
         return;
     }
     user.UserPassword = Security.CreateHash(newPass);
     using (var dbUser = new ApplicationEntitie(0))
     {
         var roles = ccbRoles.Properties.Items.Cast<CheckedListBoxItem>()
             .
             Where(item => item.CheckState == CheckState.Checked)
             .
             Select(r => (int) r.Value);
         foreach (var role in dbUser.Roles.Where(rr => roles.Contains(rr.Id)))
         {
             dbUser.Roles.Attach(role);
             user.Roles.Add(role);
         }
         dbUser.Users.Add(user);
         dbUser.SaveChanges();
         NewUser = user;
     }
 }
Exemplo n.º 30
0
 private void DeleteStatesItemClick(object sender, EventArgs eventArgs)
 {
     if (!dxsmiRemove.Items.OfType <DXEditMenuItem>().Any(item => item.EditValue != null && (bool)item.EditValue))
     {
         MessageWindow.GetInstance("Не выбрано ни одно состояние");
     }
     else
     {
         using (var db = new ApplicationEntitie(0))
         {
             var database = db;
             foreach (var state in dxsmiRemove.Items
                      .OfType <DXEditMenuItem>()
                      .Where(item => (bool)item.EditValue)
                      .Select(item => database.UserLayouts.Find((int)item.Tag)))
             {
                 db.UserLayouts.Remove(state);
             }
             db.SaveChanges();
             MessageWindow.GetInstance("Выбранные состояния успешно удалены.", MessageType.Info);
         }
     }
 }
Exemplo n.º 31
0
 /// <summary>
 /// Выбрать все роли в системе
 /// </summary>
 public static List <Role> Roles_SelectAll(this ApplicationEntitie db)
 {
     return(db.Roles.ToList());
 }
Exemplo n.º 32
0
 private void DeleteStatesItemClick(object sender, EventArgs eventArgs)
 {
     if (!dxsmiRemove.Items.OfType<DXEditMenuItem>().Any(item => item.EditValue != null && (bool)item.EditValue))
     {
         MessageWindow.GetInstance("Не выбрано ни одно состояние");
     }
     else
     {
         using (var db = new ApplicationEntitie(0))
         {
             var database = db;
             foreach (var state in dxsmiRemove.Items
                 .OfType<DXEditMenuItem>()
                 .Where(item => (bool)item.EditValue)
                 .Select(item => database.UserLayouts.Find((int)item.Tag)))
             {
                 db.UserLayouts.Remove(state);
             }
             db.SaveChanges();
             MessageWindow.GetInstance("Выбранные состояния успешно удалены.", MessageType.Info);
         }
     }
 }
Exemplo n.º 33
0
 /// <summary>
 ///     Получить пользователя по Id
 /// </summary>
 /// <param name="id">Id пользователя</param>
 /// <returns>Объект пользователя</returns>
 public static User Users_Select_Id(int id)
 {
     using (var db = new ApplicationEntitie(0))
     {
         return db.Users.Include(u => u.Roles)
             .First(u => u.Id == id);
     }
 }
Exemplo n.º 34
0
 /// <summary>
 ///     Вернуть внешний вид для объекта в значение по умолчанию
 /// </summary>
 /// <param name="form">форма</param>
 /// <param name="name">имя объекта</param>
 /// <param name="pc">Объект, для которого необходимо вернуть состояние</param>
 /// <returns>Возвращается массив байтов</returns>
 public static void SaveDefaultLayout(this Form form, string name, Control pc)
 {
     using (var db = new ApplicationEntitie(0))
     {
         if (form == null)
         {
             throw new ArgumentException("Форма не задана");
         }
         var tableName = form.Name + "." + name;
         var layout = pc.GetLayoutData();
         var defLayout = db.DefaultLayouts.FirstOrDefault(dl => dl.TableName == tableName);
         if (defLayout == null)
         {
             defLayout = new DefaultLayout
             {
                 TableName = tableName,
                 Layout = layout
             };
             db.DefaultLayouts.Add(defLayout);
         }
         else if (!db.DefaultLayouts.Any(dl => dl.cs_Layout == SqlFunctions.Checksum(layout)))
         {
             defLayout.Layout = layout;
         }
         db.SaveChanges();
     }
 }
Exemplo n.º 35
0
 /// <summary>
 ///     Сохранить текущий внешний вид для объекта класса
 ///     <see cref="T:DevExpress.XtraGrid.GridControl" />
 ///     в базу данных
 /// </summary>
 /// <param name="control">Контрол для сохранения настроек</param>
 public static void SaveLastLayout(this Control control)
 {
     var tableName = control.UniqueName();
     using (var db = new ApplicationEntitie(0))
     {
         var layout = control.GetLayoutData();
         var userLayout = db.UserLayouts.FirstOrDefault(ul => ul.UserId == DBUser.Working.Id && ul.TableName == tableName && ul.LayoutType == 2);
         if (userLayout != null)
         {
             userLayout.Layout = layout;
         }
         else
         {
             userLayout = new UserLayout
             {
                 Layout = layout,
                 TableName = tableName,
                 LayoutType = 2,
                 UserId = DBUser.Working.Id
             };
             db.UserLayouts.Add(userLayout);
         }
         db.SaveChanges();
     }
 }
Exemplo n.º 36
0
 /// <summary>
 ///     Вернуть последний сохранённый Layout для объекта
 /// </summary>
 /// <param name="form">форма</param>
 /// <param name="name">имя объекта</param>
 /// <returns>Возвращается массив байтов</returns>
 public static byte[] GetLastLayout(this Form form, string name)
 {
     using (var db = new ApplicationEntitie(0))
     {
         if (form == null)
         {
             throw new ArgumentException("Форма не задана");
         }
         var tableName = form.Name + "." + name;
         var userlayout = db.UserLayouts.FirstOrDefault(ul => ul.UserId == DBUser.Working.Id && ul.TableName == tableName && ul.LayoutType == 2);
         if (userlayout != null)
         {
             return userlayout.Layout;
         }
     }
     return null;
 }
Exemplo n.º 37
0
 private void NewUserFormShown(object sender, EventArgs e)
 {
     using (var db = new ApplicationEntitie(0))
     {
         ccbRoles.Properties.DataSource = db.Roles.ToList();
     }
 }
Exemplo n.º 38
0
 public virtual void RefreshData()
 {
     if (DesignMode)
     {
         return;
     }
     if (CheckToSaveData() == DialogResult.Cancel)
     {
         return;
     }
     if (DBAppContext != null)
     {
         DBAppContext = new ApplicationEntitie(0);
     }
 }
Exemplo n.º 39
0
 /// <summary>
 ///     Удалить пароль пользователя
 /// </summary>
 /// <param name="user">Пользователь</param>
 public static bool Users_RemovePassword_Id(this User user)
 {
     if (XtraMessageBox.Show("Вы уверены, что хотите удалить пароль сотрудника?", "Удаление пароля",
         MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
     {
         return false;
     }
     user.UserPassword = null;
     using (var db = new ApplicationEntitie(0))
     {
         db.Users.Find(user.Id)
             .UserPassword = null;
         db.SaveChanges();
         return true;
     }
 }
Exemplo n.º 40
0
 public static bool Any <T>(this ApplicationEntitie db, Func <T, bool> predicate) where T : class
 {
     return(db.Set <T>()
            .Any(predicate) || db.Set <T>()
            .Local.Any(predicate));
 }
Exemplo n.º 41
0
 public static IEnumerable <T> WhereLocal <T>(this ApplicationEntitie db, Func <T, bool> predicate) where T : class
 {
     return(db.Set <T>().Local.Where(predicate));
 }
Exemplo n.º 42
0
 /// <summary>
 ///     Получить всех пользователей в виде массива
 /// </summary>
 /// <returns>Массив объектов пользователей</returns>
 public static List<User> Users_SelectNotLocked()
 {
     using (var db = new ApplicationEntitie(0))
     {
         return db.Users
             .Where(u => !u.IsLocked)
             .ToList();
     }
 }
Exemplo n.º 43
0
 /// <summary>
 ///     Сохранить текущий внешний вид для объекта класса
 ///     <see cref="T:DevExpress.XtraGrid.GridControl" />
 ///     в базу данных
 /// </summary>
 /// <param name="formName">Имя формы</param>
 /// <param name="controlName">Имя контрола</param>
 /// <param name="layout">Массив настроек контрола</param>
 /// <param name="layoutType">Тип сохранения контрола</param>
 public static UserLayout UserLayout_InsertUpdate(string formName, string controlName, byte[] layout, int layoutType = 1)
 {
     UserLayout userLayout;
     var name = formName + "." + controlName;
     using (var db = new ApplicationEntitie(0))
     {
         userLayout = db.UserLayouts.FirstOrDefault(ul => ul.UserId == DBUser.Working.Id &&
             ul.TableName == name && ul.LayoutType == layoutType);
         if (userLayout != null)
         {
             userLayout.Layout = layout;
         }
         else
         {
             userLayout = new UserLayout
             {
                 Layout = layout,
                 TableName = name,
                 LayoutType = layoutType,
                 UserId = DBUser.Working.Id
             };
             db.UserLayouts.Add(userLayout);
         }
         db.SaveChanges();
     }
     return userLayout;
 }
Exemplo n.º 44
0
 public static bool HasUnsavedChanges(this ApplicationEntitie db)
 {
     return(db.ChangeTracker.Entries()
            .Any(e => e.State == EntityState.Added || e.State == EntityState.Modified || e.State == EntityState.Deleted) ||
            db.HasAnyRelationships((e, i) => e.CurrentValues[i]));
 }
Exemplo n.º 45
0
 public static IList <T> ToList <T>(this ApplicationEntitie db) where T : class
 {
     return(db.Set <T>().ToList());
 }
Exemplo n.º 46
0
 public static T[] ToArray <T>(this ApplicationEntitie db) where T : class
 {
     return(db.Set <T>().ToArray());
 }
Exemplo n.º 47
0
 /// <summary>
 ///     Сохранить текущий внешний вид для объекта класса
 ///     <see cref="T:DevExpress.XtraGrid.GridControl" />
 ///     в базу данных
 /// </summary>
 /// <param name="formName">Имя формы</param>
 /// <param name="controlName">Имя контрола</param>
 /// <param name="layoutName">Название сохранённой настройки</param>
 /// <param name="layout">Массив настроек контрола</param>
 /// <param name="layoutType">Тип сохранения контрола</param>
 public static UserLayout UserLayout_Insert(string formName, string controlName, string layoutName, byte[] layout, int layoutType = 1)
 {
     UserLayout userLayout;
     var name = formName + "." + controlName;
     using (var db = new ApplicationEntitie(0))
     {
         userLayout = new UserLayout
         {
             Layout = layout,
             TableName = name,
             LayoutType = layoutType,
             LayoutName = layoutName,
             UserId = DBUser.Working.Id
         };
         db.UserLayouts.Add(userLayout);
         db.SaveChanges();
     }
     return userLayout;
 }
Exemplo n.º 48
0
 /// <summary>
 ///     Получить пользователя по Id
 /// </summary>
 /// <param name="user">Пользователь</param>
 /// <param name="password">Новый пароль</param>
 /// <returns>Объект пользователя</returns>
 public static bool UpdatePassword(this User user, string password)
 {
     user.UserPassword = password;
     using (var db = new ApplicationEntitie(0))
     {
         db.Users.Find(user.Id)
             .UserPassword = password;
         db.SaveChanges();
         return true;
     }
 }