Ejemplo n.º 1
0
        public static string GetTaskEmailPost(RestCommand command, int taskEmailPostID)
        {
            TaskEmailPost taskEmailPost = TaskEmailPosts.GetTaskEmailPost(command.LoginUser, taskEmailPostID);

            if (taskEmailPost.OrganizationID != command.Organization.OrganizationID)
            {
                throw new RestException(HttpStatusCode.Unauthorized);
            }
            return(taskEmailPost.GetXml("TaskEmailPost", true));
        }
Ejemplo n.º 2
0
        public override void Run()
        {
            TaskEmailPosts.UnlockThread(LoginUser, (int)_threadPosition);
            while (!IsStopped)
            {
                TaskEmailPost taskEmailPost = GetNextTaskEmailPost(LoginUser.ConnectionString, (int)_threadPosition, _isDebug);
                if (taskEmailPost == null)
                {
                    System.Threading.Thread.Sleep(10000);
                    continue;
                }

                try
                {
                    try
                    {
                        if (taskEmailPost.CreatorID != -5)
                        {
                            _isDebug    = Settings.ReadBool("Debug", false);
                            _logEnabled = Settings.ReadInt("LoggingEnabled", 0) == 1;

                            Logs.WriteLine();
                            Logs.WriteEvent("***********************************************************************************");
                            Logs.WriteEvent("Processing Task Email Post  TaskEmailPostID: " + taskEmailPost.TaskEmailPostID.ToString());
                            Logs.WriteData(taskEmailPost.Row);
                            Logs.WriteEvent("***********************************************************************************");
                            SetTimeZone(taskEmailPost);
                            ProcessEmail(taskEmailPost);
                        }
                    }
                    catch (Exception ex)
                    {
                        ExceptionLogs.LogException(LoginUser, ex, "Email", taskEmailPost.Row);
                    }
                    finally
                    {
                        Logs.WriteEvent("Deleting from DB");
                        taskEmailPost.Collection.DeleteFromDB(taskEmailPost.TaskEmailPostID);
                    }

                    Logs.WriteEvent("Updating Health");
                    UpdateHealth();
                }
                catch (Exception ex)
                {
                    ExceptionLogs.LogException(LoginUser, ex, "Email", taskEmailPost.Row);
                }
            }
        }
Ejemplo n.º 3
0
        public static string GetTaskEmailPosts(RestCommand command)
        {
            TaskEmailPosts taskEmailPosts = new TaskEmailPosts(command.LoginUser);

            taskEmailPosts.LoadByOrganizationID(command.Organization.OrganizationID);

            if (command.Format == RestFormat.XML)
            {
                return(taskEmailPosts.GetXml("TaskEmailPosts", "TaskEmailPost", true, command.Filters));
            }
            else
            {
                throw new RestException(HttpStatusCode.BadRequest, "Invalid data format");
            }
        }
Ejemplo n.º 4
0
        private static TaskEmailPost GetNextTaskEmailPost(string connectionString, int lockID, bool isDebug)
        {
            TaskEmailPost result;
            LoginUser     loginUser = new LoginUser(connectionString, -1, -1, null);

            lock (_staticLock)
            {
                if (isDebug)
                {
                    SqlExecutor.ExecuteNonQuery(loginUser, "UPDATE TaskEmailPosts SET HoldTime=30 WHERE HoldTime > 30");
                }

                result = TaskEmailPosts.GetNextWaiting(loginUser, lockID.ToString());
            }
            return(result);
        }
Ejemplo n.º 5
0
        private void SendCompletedNotification(int creatorID, int taskID)
        {
            TaskEmailPosts existingPosts = new TaskEmailPosts(TSAuthentication.GetLoginUser());

            existingPosts.LoadByTaskID(taskID);
            if (existingPosts.Count == 0)
            {
                TaskEmailPosts posts = new TaskEmailPosts(TSAuthentication.GetLoginUser());
                TaskEmailPost  post  = posts.AddNewTaskEmailPost();
                post.TaskEmailPostType = (int)TaskEmailPostType.Complete;
                post.HoldTime          = 120;

                post.CreatorID = creatorID;
                post.TaskID    = taskID;
                posts.Save();
            }
        }
Ejemplo n.º 6
0
 public override void ReleaseAllLocks()
 {
     TaskEmailPosts.UnlockAll(LoginUser);
 }