public void SetTimeZone(TaskEmailPost taskEmailPost) { LoginUser.TimeZoneInfo = null; Organization organization = Users.GetTSOrganization(LoginUser, taskEmailPost.CreatorID); if (organization != null) { try { LoginUser.TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(organization.TimeZoneID); Logs.WriteEvent("TimeZoneID: " + organization.TimeZoneID); } catch (Exception) { LoginUser.TimeZoneInfo = null; } try { LoginUser.OrganizationCulture = new CultureInfo(organization.CultureName); Logs.WriteEvent("Culture: " + organization.CultureName); } catch (Exception) { LoginUser.OrganizationCulture = new CultureInfo("en-US"); } } if (LoginUser.TimeZoneInfo == null) { LoginUser.TimeZoneInfo = TimeZoneInfo.Utc; } }
public void ProcessEmail(TaskEmailPost taskEmailPost) { _currentTaskEmailPostID = taskEmailPost.TaskEmailPostID; Logs.WriteEvent("TaskEmailPostType: " + taskEmailPost.TaskEmailPostType.ToString()); switch ((TaskEmailPostType)taskEmailPost.TaskEmailPostType) { case TaskEmailPostType.Modified: ProcessTaskModified(taskEmailPost.TaskID, taskEmailPost.CreatorID); break; case TaskEmailPostType.Assigned: ProcessTaskAssigned(taskEmailPost.TaskID, taskEmailPost.CreatorID); break; case TaskEmailPostType.Complete: ProcessTaskComplete(taskEmailPost.TaskID, taskEmailPost.CreatorID); break; case TaskEmailPostType.OldUser: ProcessOldUser(taskEmailPost.TaskID, taskEmailPost.CreatorID, (int)taskEmailPost.OldUserID); break; default: break; } }
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)); }
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); } } }
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(); } }