public Boolean CreateNewAccount(Int32 UserID, ServiceAccountDTO newAccount)
        {
            Boolean         succeed        = false;
            ISessionFactory sessionFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            UserLinkDAO       newUserLink = new UserLinkDAO();
            ServiceAccountDAO target      = newAccount.ServiceAccountDTOToDomain().ServiceAccountDomainToDAO();

            target.AccountVersion   = 0;
            newUserLink.UserOwnerID = UserID;
            newUserLink.Account     = target;
            newUserLink.Owner       = true;
            newUserLink.UserId      = UserID;

            using (ISession session = sessionFactory.OpenSession())
            {
                using (ITransaction transaction = session.BeginTransaction())
                {
                    session.Save(newUserLink);
                    transaction.Commit();
                    succeed = transaction.WasCommitted;
                }
            }
            return(succeed);
        }
        public IList <TaskMainDAO> Find(string textQuery)
        {
            if (textQuery == string.Empty)
            {
                return(null);
            }
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (ISession session = applicationFactory.OpenSession())
                using (IFullTextSession fullTextSession = Search.CreateFullTextSession(session))
                    using (ITransaction transaction = fullTextSession.BeginTransaction())
                    {
                        try
                        {
                            IFullTextQuery      fullTextQuery = fullTextSession.CreateFullTextQuery <TaskMainDAO>(textQuery);
                            IList <TaskMainDAO> tasks         = fullTextQuery.List <TaskMainDAO>();
                            transaction.Commit();
                            return(tasks);
                        }
                        catch (Lucene.Net.QueryParsers.ParseException e)
                        {
                            //handle parsing failure. Display some indication like "Wrong search criteria"
                            transaction.Commit();
                            return(new TaskMainDAO[0]);
                        }
                    }
        }
 public void UpdateTokenLastUpdateTime(String time)
 {
     using (ISession session = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application).OpenSession())
     {
         ISQLQuery query = session.CreateSQLQuery(String.Format(@"UPDATE TOKEN SET VALUE = '{0}' WHERE TOKEN_ID = {1} AND KEY LIKE 'LastUpdateTime'", time, ID));
         query.ExecuteUpdate();
         session.Flush();
     }
 }
Exemple #4
0
        public static IList <UserDAO> GetAllUsersFromDB()
        {
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (var session = applicationFactory.OpenSession())
            {
                IList <UserDAO> userDAO = session.QueryOver <UserDAO>().List();
                return(userDAO);
            }
        }
        public static IList <TaskMainDAO> GetAllTasksFromDB()
        {
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (var session = applicationFactory.OpenSession())
            {
                IList <TaskMainDAO> taskMainDaoCollection = session.Query <TaskMainDAO>().ToList();
                return(taskMainDaoCollection);
            }
        }
Exemple #6
0
        public static UserDAO FindUserFromDBByName(String name)
        {
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (var session = applicationFactory.OpenSession())
            {
                UserDAO userDAO = session.QueryOver <UserDAO>()
                                  .Where(user => user.UserId == name)
                                  .SingleOrDefault <UserDAO>();
                return(userDAO);
            }
        }
Exemple #7
0
        private UserDAO GetUserFromDB()
        {
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (var session = applicationFactory.OpenSession())
            {
                UserDAO userDAO = session
                                  .CreateCriteria(typeof(UserDAO))
                                  .Add(Restrictions.Eq("UserId", this.UserId))
                                  .UniqueResult <UserDAO>();
                return(userDAO);
            }
        }
        public static TaskMainDAO GetTaskFromDB(string taskID, Sources source, Int32 tokenId)
        {
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (var session = applicationFactory.OpenSession())
            {
                TaskMainDAO taskMainDAO = session
                                          .CreateCriteria(typeof(TaskMainDAO))
                                          .Add(Restrictions.Eq("TaskID", taskID))
                                          .Add(Restrictions.Eq("Source", source))
                                          .Add(Restrictions.Eq("TokenID", tokenId))
                                          .UniqueResult <TaskMainDAO>();
                return(taskMainDAO);
            }
        }
        public Boolean UpdateTokenNameForExcel(Int32 tokeID, String newTokenName)
        {
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (var session = applicationFactory.OpenSession())
            {
                ISQLQuery query  = session.CreateSQLQuery(String.Format(@"UPDATE TOKENS_IN_ACCOUNT SET TOKEN_NAME = '{0}' WHERE TOKEN_ID = {1}", newTokenName, tokeID));
                Int32     number = query.ExecuteUpdate();
                session.Flush();
                if (number > 0)
                {
                    return(true);
                }
            }
            return(false);
        }
        private Boolean UpdateAccountVersion(Int32 acID, Int32 newVersion)
        {
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (var session = applicationFactory.OpenSession())
            {
                ISQLQuery query  = session.CreateSQLQuery(String.Format(@"UPDATE SERVICE_ACCOUNT SET ACCOUNT_VERSION = '{0}' WHERE SERVICE_ID = {1}", newVersion, acID));
                Int32     number = query.ExecuteUpdate();
                session.Flush();
                if (number > 0)
                {
                    return(true);
                }
            }
            return(false);
        }
        public Boolean DeleteAccount(Int32 UserID, ServiceAccountDTO accountToDelete, Boolean DeleteForAllUsers)
        {
            Boolean           succeed               = false;
            ISessionFactory   sessionFactory        = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);
            ServiceAccountDAO targetAccountToDelete = accountToDelete.ServiceAccountDTOToDomain().ServiceAccountDomainToDAO();

            using (ISession session = sessionFactory.OpenSession())
            {
                using (ITransaction transaction = session.BeginTransaction())
                {
                    UserLinkDAO userLink = session.QueryOver <UserLinkDAO>().Where(x => x.Account.ServiceAccountId == accountToDelete.ServiceAccountId).And(x => x.UserId == UserID).SingleOrDefault();
                    if (userLink != null)
                    {
                        try
                        {
                            IList <UserLinkDAO> Links = session.QueryOver <UserLinkDAO>().Where(x => x.Account.ServiceAccountId == accountToDelete.ServiceAccountId).List();

                            if (DeleteForAllUsers)
                            {
                                foreach (var item in Links)
                                {
                                    session.Delete(item);
                                }
                                session.Delete(targetAccountToDelete);
                            }
                            else
                            {
                                if (Links.Count == 1)
                                {
                                    session.Delete(targetAccountToDelete);
                                }
                                session.Delete(userLink);
                            }

                            transaction.Commit();
                            succeed = transaction.WasCommitted;
                        }
                        catch (Exception)
                        {
                            transaction.Rollback();
                            return(succeed);
                        }
                    }
                }
            }
            return(succeed);
        }
Exemple #12
0
        /// <summary>
        /// Test save. Checking are the task can be save. Without actual save in data base.
        /// </summary>
        /// <param name="taskMainDaoCollection">Tasks collection</param>
        public static void SaveOrUpdateCollectionInDBWhithRollback(IEnumerable <TaskMainDAO> taskMainDaoCollection)
        {
            if (taskMainDaoCollection.Count() > 0)
            {
                ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

                using (var session = applicationFactory.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        foreach (TaskMainDAO taskMainDAO in taskMainDaoCollection)
                        {
                            session.SaveOrUpdate(taskMainDAO);
                        }
                        transaction.Rollback();
                    }
                }
            }
        }
        public Boolean SaveOrUdateAccount(ServiceAccountDTO account)
        {
            Boolean         succeed        = false;
            ISessionFactory sessionFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            ServiceAccountDAO target = account.ServiceAccountDTOToDomain().ServiceAccountDomainToDAO();

            using (ISession session = sessionFactory.OpenSession())
            {
                target.AccountVersion += 1;
                using (ITransaction transaction = session.BeginTransaction())
                {
                    session.SaveOrUpdate(target);
                    transaction.Commit();
                    succeed = transaction.WasCommitted;
                }
            }
            return(succeed);
        }
Exemple #14
0
        public static void SaveOrUpdateCollectionInDB(IEnumerable <TaskMainDAO> taskMainDaoCollection)
        {
            if (taskMainDaoCollection.Count() > 0)
            {
                ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

                using (var session = applicationFactory.OpenSession())
                {
                    using (var transaction = session.BeginTransaction())
                    {
                        foreach (TaskMainDAO taskMainDAO in taskMainDaoCollection)
                        {
                            TaskMainDAO.PutIDsInCurrentAndMatchedAndParentTaskFromDB(taskMainDAO);
                            session.SaveOrUpdate(taskMainDAO);
                        }
                        transaction.Commit();
                    }
                }
            }
        }
        public void GenerateIndexes()
        {
            ISessionFactory applicationFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (ISession session = applicationFactory.OpenSession())
                using (IFullTextSession fullTextSession = Search.CreateFullTextSession(session))
                {
                    using (ITransaction transaction = fullTextSession.BeginTransaction())
                    {
                        fullTextSession.PurgeAll(typeof(TaskMainDAO));
                        transaction.Commit();
                    }
                    using (ITransaction transaction = fullTextSession.BeginTransaction())
                    {
                        foreach (object entity in fullTextSession.CreateCriteria(typeof(TaskMainDAO)).List())
                        {
                            fullTextSession.Index(entity);
                        }
                        transaction.Commit();
                    }
                }
        }
        public Boolean DeleteMapping(TemplateDTO template)
        {
            Boolean         succeed        = false;
            ISessionFactory sessionFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);
            TemplateDAO     target         = template.TemplateDTOToTemplateDomain().TemplateToTemplateDAO();

            using (ISession session = sessionFactory.OpenSession())
            {
                ServiceAccountDAO account = session.Query <ServiceAccountDAO>().Where(acount => acount.MappingTemplates.Contains(target)).SingleOrDefault();
                using (ITransaction transaction = session.BeginTransaction())
                {
                    session.Delete(target);
                    transaction.Commit();
                    succeed = transaction.WasCommitted;
                    if (succeed)
                    {
                        UpdateAccountVersion(account.ServiceAccountId, account.AccountVersion + 1);
                    }
                }
            }
            return(succeed);
        }
        public ServiceAccountDTO GetUserAccountsByUserIDAndAccountId(Int32 userId, Int32 seviceAccountId)
        {
            ServiceAccountDTO UserAccountsDTO;


            ISessionFactory sessionFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (ISession session = sessionFactory.OpenSession())
            {
                UserLinkDAO userLink = session.QueryOver <UserLinkDAO>().Where(x => x.UserId == userId).And(x => x.Account.ServiceAccountId == seviceAccountId).SingleOrDefault();
                if (userLink != null)
                {
                    ServiceAccount account = userLink.Account.ServiceAccountDAOToDomain(IsDetailsNeed: true);
                    UserAccountsDTO = account.ServiceAccountDomainToDTO();
                }
                else
                {
                    UserAccountsDTO = null;
                }

                return(UserAccountsDTO);
            }
        }
        private List <ServiceAccountDTO> AllUserAccountsByUserID(Int32 userId, Boolean owner)
        {
            List <ServiceAccountDTO> allUserAccountsDTO;

            ISessionFactory sessionFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            using (ISession session = sessionFactory.OpenSession())
            {
                var allUserLinks = session.QueryOver <UserLinkDAO>().Where(x => x.UserId == userId).And(link => link.Owner == owner).List();
                if (allUserLinks != null)
                {
                    List <ServiceAccountDAO> allUserAccountsDAO = allUserLinks.Select <UserLinkDAO, ServiceAccountDAO>(x => x.Account).ToList();
                    List <ServiceAccount>    alAcc = SettingsConverter.ServiceAccountDAOCollectionToDomain(allUserAccountsDAO);
                    allUserAccountsDTO = SettingsConverter.ServiceAccountDomainCollectionToDTO(alAcc);
                }
                else
                {
                    allUserAccountsDTO = null;
                }

                return(allUserAccountsDTO);
            }
        }
        public Boolean ShareTheSettingAccount(Int32 currentUserID, ServiceAccountDTO accountToShare, String shareUserName, Boolean owner)
        {
            Boolean         succeed        = false;
            ISessionFactory sessionFactory = NhibernateSessionFactory.GetSessionFactory(NhibernateSessionFactory.SessionFactoryConfiguration.Application);

            UserDAO           shareUser;
            UserLinkDAO       newUserLink        = new UserLinkDAO();
            ServiceAccountDAO targetShareAccount = accountToShare.ServiceAccountDTOToDomain().ServiceAccountDomainToDAO();

            newUserLink.Account     = targetShareAccount;
            newUserLink.Owner       = owner;
            newUserLink.UserOwnerID = currentUserID;

            using (ISession session = sessionFactory.OpenSession())
            {
                shareUser = session.QueryOver <UserDAO>().Where(user => user.UserId == shareUserName).SingleOrDefault();
                if (shareUser != null)
                {
                    newUserLink.UserId = shareUser.ID;
                    UserLinkDAO checkLink = session.QueryOver <UserLinkDAO>().Where(link => link.Account.ServiceAccountId == targetShareAccount.ServiceAccountId).And(link => link.UserId == shareUser.ID).SingleOrDefault();
                    if (checkLink == null)
                    {
                        using (ITransaction transaction = session.BeginTransaction())
                        {
                            session.Save(newUserLink);
                            transaction.Commit();
                            succeed = transaction.WasCommitted;
                        }
                    }
                    else
                    {
                        return(succeed);
                    }
                }
            }
            return(succeed);
        }