protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Guid trnID;
            if (Guid.TryParse(Request[trnIDKey], out trnID))
            {
                using (var db = DcFactory.Create <CommonDataDataContext>())
                {
                    var trn = db.CD_Translations.First(n => n.ID == trnID);

                    TrnKey       = trn.TrnKey;
                    ModuleName   = trn.ModuleName;
                    LanguagePair = trn.LanguagePair;
                }
            }
            else
            {
                TrnKey       = Request[trnKeyKey];
                ModuleName   = Request[moduleNameKey];
                LanguagePair = Request[languagePairKey];
            }
        }

        tbKey.Text          = TrnKey;
        tbModuleName.Text   = ModuleName;
        tbLanguagePair.Text = LanguagePair;
    }
        public static List <ProjectContract> GetProjectByUserToken(Guid token)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            var currentUser = GetCurrentUser(token);

            if (currentUser == null)
            {
                return(null);
            }

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var projects = (from gu in db.UM_GroupUsers
                                where gu.UserID == currentUser.ID &&
                                gu.DateDeleted == null
                                let @group = gu.Group
                                             where @group != null && @group.DateDeleted == null
                                             let project = @group.Project
                                                           where project != null && project.DateDeleted == null
                                                           select project).Distinct().ToList();

                return(projects.ToContracts());
            }
        }
Beispiel #3
0
        public static void UpdateUser(UM_User user)
        {
            if (user == null)
            {
                return;
            }

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var exUser = db.UM_Users.FirstOrDefault(n => n.ID == user.ID);
                if (exUser == null)
                {
                    return;
                }

                exUser.ID        = user.ID;
                exUser.LoginName = user.LoginName;
                exUser.Password  = user.Password;
                exUser.PasswordExpirationDate = user.PasswordExpirationDate;
                exUser.FirstName    = user.FirstName;
                exUser.LastName     = user.LastName;
                exUser.IsActive     = user.IsActive;
                exUser.IsSuperAdmin = user.IsSuperAdmin;
                exUser.Email        = user.Email;
                exUser.Address      = user.Address;
                exUser.DateChanged  = user.DateChanged;
                exUser.DateCreated  = user.DateCreated;
                exUser.DateDeleted  = user.DateDeleted;

                db.SubmitChanges();
            }
        }
Beispiel #4
0
    protected void FillTranslationsGrid()
    {
        using (var db = DcFactory.Create <CommonDataDataContext>())
        {
            var query = from n in db.CD_Translations
                        where n.DateDeleted == null
                        select n;

            if (cbxModules.SelectedItem != null && cbxModules.SelectedIndex > 0)
            {
                var selectedModule = Convert.ToString(cbxModules.SelectedItem.Value);

                query = from n in query
                        where n.ModuleName == selectedModule
                        select n;
            }

            if (cbxLanguagePairs.SelectedItem != null && cbxLanguagePairs.SelectedIndex > 0)
            {
                var selectedLangPair = Convert.ToString(cbxLanguagePairs.SelectedItem.Value);

                query = from n in query
                        where n.LanguagePair == selectedLangPair
                        select n;
            }

            gvTrns.DataSource = query;
            gvTrns.DataBind();
        }
    }
Beispiel #5
0
    protected void btSave_Click(object sender, EventArgs e)
    {
        if (TrnID == null)
        {
            return;
        }

        using (var db = DcFactory.Create <CommonDataDataContext>())
        {
            var dbTrn = (from n in db.CD_Translations
                         where n.ID == TrnID
                         select n).Single();

            //dbTrn.DefaultText = tbDefaultText.Text;
            dbTrn.TranslatedText = tbTranslatedText.Text;
            dbTrn.DateChanged    = DateTime.Now;

            db.SubmitChanges();

            var trnsList = Cache[cacheKey] as List <CD_Translation>;
            if (trnsList != null)
            {
                var localTrn = trnsList.FirstOrDefault(n => n.ID == TrnID);
                if (localTrn != null)
                {
                    localTrn.TranslatedText = dbTrn.TranslatedText;
                    localTrn.DateChanged    = dbTrn.DateChanged;
                }
            }

            FillTranslationsGrid();

            mpeEdit.Hide();
        }
    }
Beispiel #6
0
        public void ReleaseUserToken(Guid token)
        {
            var locker = GetLocker(token);

            lock (locker)
            {
                using (var db = DcFactory.Create <UserManagementDataContext>())
                {
                    //db.EnableChangesLog = false;

                    var loginToken = (from n in db.UM_LoginTokens
                                      where n.DateDeleted == null &&
                                      n.LoginToken == token
                                      select n).FirstOrDefault();

                    if (loginToken != null)
                    {
                        loginToken.DateDeleted  = DateTime.Now;
                        loginToken.DeleteReason = 1;

                        db.SubmitChanges();

                        RemoveLocker(token);
                    }
                }
            }
        }
Beispiel #7
0
        public bool ValidateToken(Guid token)
        {
            var locker = GetLocker(token);

            lock (locker)
            {
                using (var db = DcFactory.Create <UserManagementDataContext>())
                {
                    //db.EnableChangesLog = false;

                    var loginToken = (from n in db.UM_LoginTokens
                                      where n.DateDeleted == null &&
                                      n.LoginToken == token
                                      select n).FirstOrDefault();

                    var result = !CheckExpiration(loginToken);
                    if (result)
                    {
                        result = (loginToken != null);
                    }

                    db.SubmitChanges();

                    return(result);
                }
            }
        }
Beispiel #8
0
        public IDictionary <Guid, Guid?> GetTokensOwners()
        {
            lock (lockersDict)
            {
                using (var db = DcFactory.Create <UserManagementDataContext>())
                {
                    //db.EnableChangesLog = false;

                    var loginTokens = (from n in db.UM_LoginTokens
                                       where n.DateDeleted == null
                                       select n).ToList();

                    var dict = new Dictionary <Guid, Guid?>(loginTokens.Count);

                    foreach (var loginToken in loginTokens)
                    {
                        if (!CheckExpiration(loginToken))
                        {
                            dict.Add(loginToken.ID, loginToken.UserID);
                        }
                    }

                    db.SubmitChanges();

                    return(dict);
                }
            }
        }
        private static PermissionContract GetPermissionContract(UM_Resource resource, Guid groupID, Guid projectID)
        {
            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var permission = (from n in db.UM_Permissions
                                  where n.DateDeleted == null &&
                                  n.GroupID == groupID &&
                                  n.ResourceID == resource.ID
                                  orderby n.RuleValue descending
                                  select n).FirstOrDefault();

                if (permission != null)
                {
                    return(permission.ToContract(projectID));
                }

                if (resource.Parent == null)
                {
                    var newPemission = new UM_Permission();

                    newPemission.ID          = Guid.NewGuid();
                    newPemission.GroupID     = groupID;
                    newPemission.ResourceID  = resource.ID;
                    newPemission.RuleValue   = (int)RulePermissionsEnum.View;
                    newPemission.DateCreated = DateTime.Now;

                    db.UM_Permissions.InsertOnSubmit(newPemission);
                    db.SubmitChanges();

                    return(newPemission.ToContract(projectID));
                }

                return(GetPermissionContract(resource.Parent, groupID, projectID));
            }
        }
Beispiel #10
0
 public static UM_User GetUser(Guid userID)
 {
     using (var db = DcFactory.Create <UserManagementDataContext>())
     {
         return(db.UM_Users.FirstOrDefault(n => n.ID == userID));
     }
 }
Beispiel #11
0
    protected void lnkDeleteLang_Click(object sender, EventArgs e)
    {
        var control = sender as LinkButton;

        if (control == null)
        {
            return;
        }

        Guid langID;

        if (!Guid.TryParse(control.CommandArgument, out langID))
        {
            return;
        }

        using (var db = DcFactory.Create <CommonDataDataContext>())
        {
            var language = (from n in db.CD_Languages
                            where n.ID == langID
                            select n).FirstOrDefault();

            if (language == null)
            {
                return;
            }

            language.DateDeleted = DateTime.Now;

            db.SubmitChanges();
        }
    }
    protected void Page_PreRender(object sender, EventArgs e)
    {
        if (String.IsNullOrWhiteSpace(TrnKey))
        {
            SetErrorMessage("Invalid TrnKey");
            return;
        }

        if (String.IsNullOrWhiteSpace(ModuleName))
        {
            SetErrorMessage("Invalid ModuleName");
            return;
        }

        if (String.IsNullOrWhiteSpace(LanguagePair))
        {
            SetErrorMessage("Invalid LanguagePair");
            return;
        }

        using (var db = DcFactory.Create <CommonDataDataContext>())
        {
            var trn = (from n in db.CD_Translations
                       where n.DateDeleted == null &&
                       n.TrnKey.ToLower() == TrnKey.ToLower() &&
                       n.LanguagePair.ToLower() == LanguagePair.ToLower() &&
                       n.ModuleName.ToLower() == ModuleName.ToLower()
                       select n).Single();

            tbDefaultText.Text    = trn.DefaultText;
            tbTranslatedText.Text = trn.TranslatedText;
        }
    }
Beispiel #13
0
        public Guid?GetTokenOwnerID(Guid token)
        {
            var locker = GetLocker(token);

            lock (locker)
            {
                using (var db = DcFactory.Create <UserManagementDataContext>())
                {
                    //db.EnableChangesLog = false;

                    var loginToken = (from n in db.UM_LoginTokens
                                      where n.DateDeleted == null &&
                                      n.LoginToken == token
                                      select n).FirstOrDefault();

                    var user = (Guid?)null;

                    if (!CheckExpiration(loginToken))
                    {
                        if (loginToken != null)
                        {
                            user = loginToken.UserID;
                        }
                    }

                    db.SubmitChanges();

                    return(user);
                }
            }
        }
Beispiel #14
0
        public static List <AreaContract> GetAreasByCode(int code, RecordTypesEnum recordType)
        {
            using (var db = DcFactory.Create <CommonDataDataContext>())
            {
                var areasQuery = from t in db.CD_Areas
                                 let areaType = t.AreaType
                                                where areaType.Code == code
                                                select t;

                switch (recordType)
                {
                case RecordTypesEnum.Active:
                {
                    areasQuery = from n in areasQuery
                                 where n.DateDeleted == null
                                 select n;
                }
                break;

                case RecordTypesEnum.Inactive:
                {
                    areasQuery = from n in areasQuery
                                 where n.DateDeleted != null
                                 select n;
                }
                break;
                }

                var areas = areasQuery.ToList();

                return(areas.ToContracts());
            }
        }
Beispiel #15
0
 private static IList <CD_Language> LoadLanguages()
 {
     using (var db = DcFactory.Create <CommonDataDataContext>())
     {
         var languagesList = db.CD_Languages.Where(n => n.DateDeleted == null).ToList();
         return(languagesList);
     }
 }
 public static List <ProjectContract> GetProjects()
 {
     using (var db = DcFactory.Create <UserManagementDataContext>())
     {
         var items = db.UM_Projects.Where(n => n.DateDeleted == null).ToList();
         return(items.ToContracts());
     }
 }
        public static Dictionary <String, String> GetUserAttributesDictionary(Guid token, Guid userID, Guid projectID)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var globalItems = (from userAttr in db.UM_UserAttributes
                                   where userAttr.DateDeleted == null &&
                                   userAttr.UserID == userID
                                   let node = userAttr.AttributesSchemaNode
                                              where node != null &&
                                              node.DateDeleted == null
                                              let schema = node.AttributesSchema
                                                           where schema != null &&
                                                           schema.DateDeleted == null
                                                           where schema.ProjectID == null
                                                           select new { node.Name, userAttr.Value }).ToList();

                var projectItems = (from userAttr in db.UM_UserAttributes
                                    where userAttr.DateDeleted == null &&
                                    userAttr.UserID == userID
                                    let node = userAttr.AttributesSchemaNode
                                               where node != null &&
                                               node.DateDeleted == null
                                               let schema = node.AttributesSchema
                                                            where schema != null &&
                                                            schema.DateDeleted == null
                                                            let project = schema.Project
                                                                          where project != null &&
                                                                          project.DateDeleted == null &&
                                                                          project.ID == projectID
                                                                          select new { node.Name, userAttr.Value }).ToList();

                var allItems = globalItems.Union(projectItems);

                var comparer = StringComparer.OrdinalIgnoreCase;

                var allItemsLp = allItems.ToLookup(n => n.Name, comparer);

                var dict = new Dictionary <String, String>(comparer);
                foreach (var itemsGrp in allItemsLp)
                {
                    var valuesQuery = (from n in itemsGrp
                                       where !String.IsNullOrWhiteSpace(n.Value)
                                       select n.Value);

                    var @set = valuesQuery.ToHashSet(comparer);

                    var values = String.Join(",", @set);
                    dict[itemsGrp.Key] = values;
                }

                return(dict);
            }
        }
        public static Dictionary <Guid, Dictionary <String, String> > GetAllUsersGlobalAttribetes(Guid token, bool deleteds)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var usersQuery = from n in db.UM_Users
                                 select n;

                if (!deleteds)
                {
                    usersQuery = from n in usersQuery
                                 where n.DateDeleted == null
                                 select n;
                }

                var globalAttrQuery = from user in usersQuery
                                      from attr in user.UserAttributes
                                      where attr.DateDeleted == null
                                      let node = attr.AttributesSchemaNode
                                                 where node != null &&
                                                 node.DateDeleted == null
                                                 let schema = node.AttributesSchema
                                                              where schema != null &&
                                                              schema.DateDeleted == null
                                                              where schema.ProjectID == null
                                                              select new
                {
                    UserID = attr.UserID,
                    Name   = node.Name,
                    Value  = attr.Value
                };

                var globaAttrLp = globalAttrQuery.ToLookup(n => n.UserID);

                var globalAttrDict = new Dictionary <Guid, Dictionary <String, String> >();
                foreach (var globalAttrGrp in globaAttrLp)
                {
                    var dict = new Dictionary <String, String>();

                    var attrLp = globalAttrGrp.ToLookup(n => n.Name);
                    foreach (var attrGrp in attrLp)
                    {
                        var valuesQuery = attrGrp.Select(n => n.Value).ToHashSet(StringComparer.OrdinalIgnoreCase);
                        var values      = String.Join(";", valuesQuery);

                        dict.Add(attrGrp.Key, values);
                    }

                    globalAttrDict.Add(globalAttrGrp.Key, dict);
                }

                return(globalAttrDict);
            }
        }
Beispiel #19
0
    protected void btSave_Click(object sender, EventArgs e)
    {
        lblMessage.Text = String.Empty;

        if (String.IsNullOrWhiteSpace(tbDisplayName.Text))
        {
            lblMessage.Text = "Please enter display name";

            mpeAddEdit.Show();
            return;
        }

        if (String.IsNullOrWhiteSpace(tbPair.Text))
        {
            lblMessage.Text = "Please enter pair";

            mpeAddEdit.Show();
            return;
        }

        using (var db = DcFactory.Create <CommonDataDataContext>())
        {
            CD_Language language;

            if (LangID == null)
            {
                language             = new CD_Language();
                language.ID          = Guid.NewGuid();
                language.DateCreated = DateTime.Now;

                db.CD_Languages.InsertOnSubmit(language);
            }
            else
            {
                language = (from n in db.CD_Languages
                            where n.ID == LangID
                            select n).FirstOrDefault();

                if (language == null)
                {
                    return;
                }
            }

            language.DisplayName = tbDisplayName.Text;
            language.EngName     = tbEngName.Text;
            language.NativeName  = tbNativeName.Text;
            language.Pair        = tbPair.Text;

            db.SubmitChanges();

            mpeAddEdit.Hide();
        }

        FillLanguagesGrid();
    }
Beispiel #20
0
        public static List <MobileIndexesContract> GetAllMobileIndexes()
        {
            using (var db = DcFactory.Create <CommonDataDataContext>())
            {
                var mobileIndexes = (from i in db.CD_MobileIndexes
                                     where i.DateDeleted == null
                                     select i).ToList();

                return(mobileIndexes.ToContracts());
            }
        }
Beispiel #21
0
        public static AreaContract GetAreaByID(Guid Id)
        {
            using (var db = DcFactory.Create <CommonDataDataContext>())
            {
                var area = (from a in db.CD_Areas
                            where a.ID == Id
                            select a).FirstOrDefault();

                return(area.ToContract());
            }
        }
Beispiel #22
0
        public static List <AreaContract> GetChildAreas(Guid ParentID)
        {
            using (var db = DcFactory.Create <CommonDataDataContext>())
            {
                var childAreas = (from a in db.CD_Areas
                                  where a.ParentID == ParentID
                                  select a).ToList();

                return(childAreas.ToContracts());
            }
        }
Beispiel #23
0
    protected void FillLanguagesGrid()
    {
        using (var db = DcFactory.Create <CommonDataDataContext>())
        {
            var languages = (from n in db.CD_Languages
                             where n.DateDeleted == null
                             select n).ToList();

            gvLanguages.DataSource = languages;
            gvLanguages.DataBind();
        }
    }
Beispiel #24
0
        public static UM_User GetUser(String loginName)
        {
            loginName = (loginName ?? String.Empty);

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var user = (from n in db.UM_Users
                            where n.DateDeleted == null &&
                            n.LoginName.Trim().ToLower() == loginName.Trim().ToLower()
                            select n).FirstOrDefault();

                return(user);
            }
        }
Beispiel #25
0
        public static MobileIndexesContract GetMobileIndexByID(Guid?ID)
        {
            if (ID == null || ID == Guid.Empty)
            {
                return(null);
            }

            using (var db = DcFactory.Create <CommonDataDataContext>())
            {
                var mobileIndex = (from i in db.CD_MobileIndexes
                                   where i.ID == ID && i.DateDeleted == null
                                   select i).FirstOrDefault();

                return(mobileIndex.ToContract());
            }
        }
        public static List <GroupContract> GetProjectGroups(Guid token, Guid projectID)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var items = (from n in db.UM_Groups
                             where n.ProjectID == projectID &&
                             n.DateDeleted == null
                             select n).ToList();

                return(items.ToContracts());
            }
        }
        public static bool HasMessages(Guid token, Guid?moduleId)
        {
            var user = GetCurrentUser(token);

            if (user == null)
            {
                throw new Exception("Unable to get user by token");
            }

            var userGroups = GetUserGroups(token, user.ID, moduleId.Value);

            if (userGroups == null)
            {
                return(false);
            }

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var objectsList = userGroups.Select(p => p.ID).ToSortedSet();
                objectsList.Add(moduleId.Value);
                objectsList.Add(user.ID);

                var objectsArrays = objectsList.ToArray();

                var allTypeMessagesQuery = from n in db.UM_Messages
                                           where n.DateDeleted == null &&
                                           n.Type == (int)MessageTypeEnum.All &&
                                           objectsArrays.Contains(n.ObjectID)
                                           select n;

                var stdMessagesQuery = from n in db.UM_Messages
                                       let count = n.MessageViewers.Count(t => t.UserID != user.ID)
                                                   where n.DateDeleted == null &&
                                                   objectsArrays.Contains(n.ObjectID) &&
                                                   (n.Type == (int)MessageTypeEnum.Standard && count == 0)
                                                   select n;

                var messagesQuery = stdMessagesQuery.Union(allTypeMessagesQuery);
                var messagesCount = messagesQuery.Count();

                return(messagesCount > 0);
            }
        }
    protected void btSave_Click(object sender, EventArgs e)
    {
        using (var db = DcFactory.Create <CommonDataDataContext>())
        {
            var dbTrn = (from n in db.CD_Translations
                         where n.DateDeleted == null &&
                         n.TrnKey.ToLower() == TrnKey.ToLower() &&
                         n.LanguagePair.ToLower() == LanguagePair.ToLower() &&
                         n.ModuleName.ToLower() == ModuleName.ToLower()
                         select n).Single();

            dbTrn.DefaultText    = tbDefaultText.Text;
            dbTrn.TranslatedText = tbTranslatedText.Text;

            db.SubmitChanges();

            SetSuccessMessage("Save successfully");
        }
    }
        public static List <PermissionContract> GetAllResourcesPermissions(Guid token, Guid?projectID)
        {
            var tokenUser = GetCurrentUser(token);

            if (tokenUser == null)
            {
                return(null);
            }

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var query = from user in db.UM_Users
                            where user.ID == tokenUser.ID
                            from userGroup in user.GroupUsers
                            where userGroup.DateDeleted == null
                            let @group = userGroup.Group
                                         where @group.DateDeleted == null
                                         from perm in @group.Permissions
                                         let res = perm.Resource
                                                   where perm.DateDeleted == null &&
                                                   res.DateDeleted == null
                                                   select new
                {
                    //GroupID = @group.ID,
                    //GroupName = @group.Name,
                    ProjectID  = res.ProjectID,
                    Permission = perm
                };

                if (projectID != null)
                {
                    query = from item in query
                            where item.ProjectID == projectID || item.ProjectID == null
                            select item;
                }

                var entities  = query.ToList();
                var contracts = entities.Select(n => n.Permission.ToContract(n.ProjectID)).ToList();

                return(contracts);
            }
        }
        public static List <UserContract> GetGroupUsers(Guid token, Guid groupID)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            using (var db = DcFactory.Create <UserManagementDataContext>())
            {
                var items = (from gu in db.UM_GroupUsers
                             where gu.GroupID == groupID && gu.DateDeleted == null
                             let user = gu.User
                                        where user != null &&
                                        user.ID == gu.UserID &&
                                        user.DateDeleted == null
                                        select user).ToList();

                return(items.ToContracts());
            }
        }