Exemplo n.º 1
0
        public IDictionary <Guid, Guid?> GetTokensOwners()
        {
            lock (lockersDict)
            {
                using (var session = Hb8Factory.CreateSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        var entities = (from n in session.Query <UM_LoginToken>()
                                        where n.DateDeleted == null
                                        select n).ToList();

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

                        foreach (var entity in entities)
                        {
                            if (!CheckExpiration(entity, session))
                            {
                                dict.Add(entity.ID, entity.UserID);
                            }
                        }

                        transaction.Commit();

                        return(dict);
                    }
                }
            }
        }
Exemplo n.º 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Guid trnID;
            if (Guid.TryParse(Request[trnIDKey], out trnID))
            {
                using (var session = Hb8Factory.CreateSession())
                {
                    var trn = session.Query <CD_Translation>().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;
    }
Exemplo n.º 3
0
    protected void btSave_Click(object sender, EventArgs e)
    {
        if (TrnID == null)
        {
            return;
        }

        var session = Hb8Factory.InitSession();

        var dbTrn = (from n in session.Query <CD_Translation>()
                     where n.ID == TrnID
                     select n).Single();

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

        session.SubmitChanges(dbTrn);

        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();
    }
Exemplo n.º 4
0
        public bool ValidateToken(Guid token)
        {
            var locker = GetLocker(token);

            lock (locker)
            {
                using (var session = Hb8Factory.CreateSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        var entity = (from n in session.Query <UM_LoginToken>()
                                      where n.DateDeleted == null &&
                                      n.LoginToken == token
                                      select n).FirstOrDefault();

                        var result = !CheckExpiration(entity, session);
                        if (result)
                        {
                            result = (entity != null);
                        }

                        transaction.Commit();

                        return(result);
                    }
                }
            }
        }
Exemplo n.º 5
0
        public void ReleaseUserToken(Guid token)
        {
            var locker = GetLocker(token);

            lock (locker)
            {
                using (var session = Hb8Factory.CreateSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        var entity = (from n in session.Query <UM_LoginToken>()
                                      where n.DateDeleted == null &&
                                      n.LoginToken == token
                                      select n).FirstOrDefault();

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

                            session.Update(entity);

                            RemoveLocker(token);
                        }

                        transaction.Commit();
                    }
                }
            }
        }
Exemplo n.º 6
0
        public static UserContract GetUser(Guid token, Guid userID)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            var currentUser = GetCurrentUser(token);

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

            var session = Hb8Factory.InitSession();

            var query = from n in session.Query <UM_User>()
                        where n.ID == userID
                        select n;

            var user = query.FirstOrDefault();

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

            if (!currentUser.IsSuperAdmin)
            {
                user.Password = null;
            }

            return(user.ToContract());
        }
Exemplo n.º 7
0
    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 session = Hb8Factory.CreateSession())
        {
            var trn = (from n in session.Query <CD_Translation>()
                       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;
        }
    }
Exemplo n.º 8
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 session = Hb8Factory.CreateSession())
        {
            var language = (from n in session.Query <CD_Language>()
                            where n.ID == langID
                            select n).FirstOrDefault();

            if (language == null)
            {
                return;
            }

            language.DateDeleted = DateTime.Now;

            session.SubmitChanges(language);
        }
    }
Exemplo n.º 9
0
        public Guid?GetTokenOwnerID(Guid token)
        {
            var locker = GetLocker(token);

            lock (locker)
            {
                using (var session = Hb8Factory.CreateSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        var entity = (from n in session.Query <UM_LoginToken>()
                                      where n.DateDeleted == null &&
                                      n.LoginToken == token
                                      select n).FirstOrDefault();

                        var user = (Guid?)null;

                        if (!CheckExpiration(entity, session))
                        {
                            if (entity != null)
                            {
                                user = entity.UserID;
                            }
                        }

                        transaction.Commit();

                        return(user);
                    }
                }
            }
        }
Exemplo n.º 10
0
        public static List <UserContract> GetAllUsers(Guid token, bool deleteds)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            var currentUser = GetCurrentUser(token);

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

            var session = Hb8Factory.InitSession();

            var query = from n in session.Query <UM_User>()
                        select n;

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

            var items = query.ToList();

            if (!currentUser.IsSuperAdmin)
            {
                items.ForEach(p => p.Password = null);
            }

            return(items.ToContracts());
        }
Exemplo n.º 11
0
        public static void UpdateUser(UM_User user)
        {
            if (user == null)
            {
                return;
            }

            var session = Hb8Factory.InitSession();

            var exUser = session.Query <UM_User>().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;

            session.SubmitUpdate(exUser);
        }
Exemplo n.º 12
0
    protected void FillTranslationsGrid()
    {
        var session = Hb8Factory.InitSession();

        var query = from n in session.Query <CD_Translation>()
                    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();
    }
Exemplo n.º 13
0
        public static List <AreaContract> GetAreasByCode(int code, RecordTypesEnum recordType)
        {
            var session = Hb8Factory.InitSession();

            var areasQuery = from n in session.Query <CD_Area>()
                             where n.AreaType.Code == code
                             select n;

            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());
        }
Exemplo n.º 14
0
        private static PermissionContract GetPermissionContract(UM_Resource resource, Guid groupID, Guid projectID)
        {
            var session = Hb8Factory.InitSession();

            var permission = (from n in session.Query <UM_Permission>()
                              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
                {
                    ID          = Guid.NewGuid(),
                    GroupID     = groupID,
                    ResourceID  = resource.ID,
                    RuleValue   = (int)RulePermissionsEnum.View,
                    DateCreated = DateTime.Now
                };

                session.SubmitInsert(newPemission);

                return(newPemission.ToContract(projectID));
            }

            return(GetPermissionContract(resource.Parent, groupID, projectID));
        }
Exemplo n.º 15
0
        public static List <ProjectContract> GetProjectByUserToken(Guid token)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            var currentUser = GetCurrentUser(token);

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

            var session = Hb8Factory.InitSession();

            var projects = (from gu in session.Query <UM_GroupUser>()
                            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());
        }
Exemplo n.º 16
0
        public static List <ProjectContract> GetProjects()
        {
            var session = Hb8Factory.InitSession();

            var items = session.Query <UM_Project>().Where(n => n.DateDeleted == null).ToList();

            return(items.ToContracts());
        }
Exemplo n.º 17
0
 private static IList <CD_Language> LoadLanguages()
 {
     using (var session = Hb8Factory.CreateSession())
     {
         var languagesList = session.Query <CD_Language>().Where(n => n.DateDeleted == null).ToList();
         return(languagesList);
     }
 }
Exemplo n.º 18
0
        public static Dictionary <Guid, Dictionary <String, String> > GetAllUsersGlobalAttribetes(Guid token, bool deleteds)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            var session = Hb8Factory.InitSession();

            var usersQuery = session.Query <UM_User>();

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

            var globalAttrQuery = from user in usersQuery
                                  join attr in session.Query <UM_AttributeValue>() on user.ID equals attr.ParentID
                                  where attr.DateDeleted == null
                                  let field = attr.AttributeField
                                              where field != null &&
                                              field.DateDeleted == null
                                              let schema = field.AttributeSchema
                                                           where schema != null &&
                                                           schema.DateDeleted == null
                                                           where schema.ProjectID == null
                                                           select new
            {
                attr.ParentID,
                field.Name,
                attr.Value
            };

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

            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);
        }
Exemplo n.º 19
0
        public static AreaContract GetAreaByID(Guid ID)
        {
            var session = Hb8Factory.InitSession();

            var area = (from a in session.Query <CD_Area>()
                        where a.ID == ID
                        select a).FirstOrDefault();

            return(area.ToContract());
        }
Exemplo n.º 20
0
        public static List <MobileIndexesContract> GetAllMobileIndexes()
        {
            var session = Hb8Factory.InitSession();

            var mobileIndexes = (from n in session.Query <CD_MobileIndex>()
                                 where n.DateDeleted == null
                                 select n).ToList();

            return(mobileIndexes.ToContracts());
        }
Exemplo n.º 21
0
        public static List <AreaContract> GetChildAreas(Guid parentID)
        {
            var session = Hb8Factory.InitSession();

            var childAreas = (from a in session.Query <CD_Area>()
                              where a.ParentID == parentID
                              select a).ToList();

            return(childAreas.ToContracts());
        }
Exemplo n.º 22
0
        public static bool HasMessages(Guid token, Guid?projectID)
        {
            var user = GetCurrentUser(token);

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

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

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

            var objectsSet = userGroups.Select(p => (Guid?)p.ID).ToHashSet();

            objectsSet.Add(projectID);
            objectsSet.Add(user.ID);

            var session = Hb8Factory.InitSession();

            var commonMessagesQuery = from n in session.Query <UM_Message>()
                                      where n.DateDeleted == null &&
                                      n.Type == (int)MessageTypeEnum.All &&
                                      Enumerable.Contains(objectsSet, n.ObjectID)
                                      select n;

            var commonMessages = commonMessagesQuery.ToList();

            var userMessagesQuery = from n in session.Query <UM_Message>()
                                    where n.DateDeleted == null &&
                                    n.Type == (int)MessageTypeEnum.Standard &&
                                    Enumerable.Contains(objectsSet, n.ObjectID)
                                    select n;

            var userMessages = userMessagesQuery.ToList();

            var messagesViewersQuery = from n in userMessagesQuery
                                       from m in n.MessageViewers
                                       where m.DateDeleted == null &&
                                       m.UserID == user.ID
                                       select m;

            var messageViewersLp = messagesViewersQuery.ToLookup(n => n.MessageID);

            var unreadMessages = (from n in userMessages
                                  where !messageViewersLp[n.ID].Any()
                                  select n).ToList();

            var totalCount = commonMessages.Count + unreadMessages.Count;

            return(totalCount > 0);
        }
Exemplo n.º 23
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 session = Hb8Factory.CreateSession())
        {
            CD_Language language;

            if (LangID == null)
            {
                language             = new CD_Language();
                language.ID          = Guid.NewGuid();
                language.DateCreated = DateTime.Now;
            }
            else
            {
                language = (from n in session.Query <CD_Language>()
                            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;

            session.SubmitChanges(language);

            mpeAddEdit.Hide();
        }

        FillLanguagesGrid();
    }
Exemplo n.º 24
0
    protected void FillLanguagesGrid()
    {
        using (var session = Hb8Factory.CreateSession())
        {
            var languages = (from n in session.Query <CD_Language>()
                             where n.DateDeleted == null
                             select n).ToList();

            gvLanguages.DataSource = languages;
            gvLanguages.DataBind();
        }
    }
Exemplo n.º 25
0
        public static void SetTranslation(String moduleName, String languagePair, String trnKey, TranslationContract contract)
        {
            if (String.IsNullOrWhiteSpace(moduleName))
            {
                throw new ArgumentNullException("moduleName");
            }

            if (String.IsNullOrWhiteSpace(trnKey))
            {
                throw new ArgumentNullException("trnKey");
            }

            if (String.IsNullOrWhiteSpace(languagePair))
            {
                throw new ArgumentNullException("languagePair");
            }

            if (contract == null)
            {
                throw new ArgumentNullException("contract");
            }

            var session = Hb8Factory.InitSession();

            var entity = (from n in session.Query <CD_Translation>()
                          where n.DateDeleted == null &&
                          n.TrnKey.ToLower() == trnKey.ToLower() &&
                          n.LanguagePair.ToLower() == languagePair.ToLower() &&
                          n.ModuleName.ToLower() == moduleName.ToLower()
                          select n).SingleOrDefault();

            if (entity == null)
            {
                entity = new CD_Translation
                {
                    ID          = Guid.NewGuid(),
                    DateCreated = DateTime.Now
                };

                entity.TrnKey         = trnKey;
                entity.ModuleName     = moduleName;
                entity.LanguagePair   = languagePair;
                entity.DefaultText    = contract.DefaultText;
                entity.TranslatedText = contract.TranslatedText;

                session.SubmitChanges(entity);
            }
            else
            {
                TranslationCache.SetTranslatedText(moduleName, languagePair, trnKey, contract.TranslatedText);
            }
        }
Exemplo n.º 26
0
        public static UM_User GetUser(String loginName)
        {
            loginName = (loginName ?? String.Empty);

            var session = Hb8Factory.InitSession();

            var user = (from n in session.Query <UM_User>()
                        where n.DateDeleted == null &&
                        n.LoginName.Trim().ToLower() == loginName.Trim().ToLower()
                        select n).FirstOrDefault();

            return(user);
        }
Exemplo n.º 27
0
        public static MobileIndexesContract GetMobileIndexByID(Guid?ID)
        {
            if (ID == null || ID == Guid.Empty)
            {
                return(null);
            }

            var session = Hb8Factory.InitSession();

            var mobileIndex = (from n in session.Query <CD_MobileIndex>()
                               where n.ID == ID
                               select n).FirstOrDefault();

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

            var session = Hb8Factory.InitSession();

            var items = (from n in session.Query <UM_Group>()
                         where n.ProjectID == projectID &&
                         n.DateDeleted == null
                         select n).ToList();

            return(items.ToContracts());
        }
Exemplo n.º 29
0
        public static List <UserContract> GetGroupUsers(Guid token, Guid groupID)
        {
            if (!AccessController.ValidateToken(token))
            {
                return(null);
            }

            var session = Hb8Factory.InitSession();

            var items = (from gu in session.Query <UM_GroupUser>()
                         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());
        }
Exemplo n.º 30
0
        protected void FillAttributesTree()
        {
            using (var session = Hb8Factory.CreateSession())
            {
                var attributesSchemas = (from n in session.Query<UM_AttributeSchema>()
                                         where n.DateDeleted == null
                                         select n).ToList();

                var converter = new AttributeSchemaEntityModelConverter(session);

                var model = new AttributeSchemasModel
                {
                    List = attributesSchemas.Select(n => converter.Convert(n)).ToList()
                };

                attributesSchemasControl.Model = model;
                attributesSchemasControl.DataBind();
            }
        }