public dynamic Put(TaskDTO objtaskdto) { TaskDTO Oldtask = (TaskDTO)TaskRepository.GetTicketDetails(objtaskdto.ID).Response; Mst_Task objtask = new Mst_Task { ID = objtaskdto.ID, CreatedBy = objtaskdto.CreatedBy, UpdatedBy = objtaskdto.UpdatedBy, Title = objtaskdto.Title, Task_Status = objtaskdto.Task_Status, Description = objtaskdto.Description, DueDate = objtaskdto.DueDate, PriorityID = objtaskdto.PriorityID, TypeID = objtaskdto.TypeID, RefereedTo = objtaskdto.RefereedTo, AssignedTo = objtaskdto.AssignedTo, AssigndedDate = objtaskdto.AssigndedDate, ProjectID = objtaskdto.ProjectID }; CustomResponse res = TaskRepository.UpdateTicket(objtask); List <string> ObjToAddresses = new List <string>(); List <string> ObjFilteredToAddresses = new List <string>(); if (res.Status == CustomResponseStatus.Successful) { ObjToAddresses.Add(objtaskdto.CreatedBy); ObjToAddresses.Add(objtaskdto.RefereedTo); ObjToAddresses.Add(objtaskdto.AssignedTo); // Get All Stackholders related to project ObjToAddresses.AddRange(ProjectRepository.GetProjectUsers(objtaskdto.ProjectID)); ObjFilteredToAddresses = ObjToAddresses.Distinct().ToList(); ObjFilteredToAddresses = UserRepository.GetEmailAddressesByUserIds(ObjFilteredToAddresses); StringBuilder sb = new StringBuilder(); sb.Append("<table>"); sb.Append("<tr><td><center><b> Updated Ticket Infromation</b></center> <td></tr>"); sb.Append("<tr><td><center> Project Name </center> <td> <td><center>" + objtaskdto.ProjectID + " </center> <td></tr>"); sb.Append("<tr><td><center> Ticket ID </center> <td> <td><center>" + objtaskdto.ID + " </center> <td></tr>"); sb.Append("<tr><td><center> Ticket Titile </center> <td> <td><center>" + objtaskdto.Title + " </center> <td></tr>"); sb.Append("<tr><td><center> Ticket Description </center> <td> <td><center>" + objtaskdto.Description + " </center> <td></tr>"); sb.Append("<tr><td><center> Ticket Start Date </center> <td> <td><center>" + objtaskdto.AssigndedDate + " </center> <td></tr>"); sb.Append("<tr><td><center> Ticket Due Date </center> <td> <td><center>" + objtaskdto.DueDate + " </center> <td></tr>"); if (objtaskdto.PriorityID != Oldtask.PriorityID) { sb.Append("<tr><td><center> New Priority </center> <td> <td><center>" + GenericRepository.GetPrioritynameByPid(objtaskdto.PriorityID) + " </center> <td></tr>"); } if (objtaskdto.Task_Status != Oldtask.Task_Status) { sb.Append("<tr><td><center> New Task Status </center> <td> <td><center>" + GenericRepository.GetTaskStausByPid(objtaskdto.Task_Status) + " </center> <td></tr>"); } if (objtaskdto.TaskTypeName != Oldtask.TaskTypeName) { sb.Append("<tr><td><center> New Task Type </center> <td> <td><center>" + GenericRepository.GetTasknameByPid(objtaskdto.TypeID) + " </center> <td></tr>"); } sb.Append("</table>"); string subject = "Tech Support - Ticket Updtaes Information"; foreach (var toMail in ObjFilteredToAddresses) { MailSender.TaskStatusCreate_UpdationMail(UserReportRepository.GetFnameByEmail(toMail), subject, sb.ToString(), toMail); } } return(res); }
public dynamic Put(ReportDTO objreport) { CustomResponse objresult = new CustomResponse(); objresult.Response = null; try { // Step1 : get relavent data from the database and prepare mail body and get clietn id. // Step2 : send mail to the client of the project // return ProjectReportRepository.GetReportData(objreport.ProjectID, objreport.TaskTypeID, objreport.TaskStatusID, objreport.FromDate, objreport.ToDate); List <ReportData> objmaildata = UserReportRepository.GetReportDataAsync(objreport.UserID, objreport.TaskTypeID, objreport.TaskStatusID, objreport.FromDate, objreport.ToDate); //prepare mail body StringBuilder sbmailbody = new StringBuilder(); sbmailbody.Append("<table width=100%><tr><th>ProjectName</th><th>TicketID</th><th>AssignedDate</th><th>Assign To</th><th>Task Status</th><th>Task Type</th></tr>"); foreach (ReportData objreport1 in objmaildata) { sbmailbody.Append("<tr><td>" + objreport1.ProjectName + "</td><td>" + objreport1.TicketDisplayName + "</td><td>" + objreport1.AssignedDate + "</td><td>" + objreport1.AssignedTo + "</td><td>" + objreport1.TaskStatus + "</td><td>" + objreport1.TicketType + "</td></tr>"); } sbmailbody.Append("</table>"); List <String> uids = new List <string>(); uids.Add(objreport.UserID); string subject = "User Activity Report from " + objreport.FromDate + "-" + objreport.ToDate; List <string> mails = UserRepository.GetEmailAddressesByUserIds(uids); foreach (string toMail in mails) { MailSender.TaskStatusCreate_UpdationMail(UserReportRepository.GetFnameByEmail(toMail), subject, sbmailbody.ToString(), toMail); } objresult.Status = CustomResponseStatus.Successful; objresult.Message = "Email Sent Successfully"; } catch (Exception ex) { objresult.Status = CustomResponseStatus.Successful; objresult.Message = "Failed to send email"; } return(objresult); }
public dynamic Post(TaskDTO objtaskdto) { Mst_Task objtask = new Mst_Task { Title = objtaskdto.Title, Task_Status = objtaskdto.Task_Status, Description = objtaskdto.Description, DueDate = objtaskdto.DueDate, PriorityID = objtaskdto.PriorityID, TypeID = objtaskdto.TypeID, RefereedTo = objtaskdto.RefereedTo, AssignedTo = objtaskdto.AssignedTo, CreatedBy = objtaskdto.CreatedBy, AssigndedDate = objtaskdto.AssigndedDate, ProjectID = objtaskdto.ProjectID, Attachment1_Name = objtaskdto.Attachment1_Name, Attachment1_Path = objtaskdto.Attachment1_Path, Attachment2_Name = objtaskdto.Attachment2_Name, Attachment2_Path = objtaskdto.Attachment2_Path, Attachment3_Name = objtaskdto.Attachment3_Name, Attachment3_Path = objtaskdto.Attachment3_Path }; CustomResponse res = TaskRepository.AddNewTicket(objtask); if (res.Status == CustomResponseStatus.Successful) { List <UserDTO> users = UserReportRepository.GetUserProjectDetailsByProejectid(objtaskdto.ProjectID); users.Add(new UserDTO { Email = objtaskdto.AssignedTo, RoleName = "3" }); string createdbyemail = UserReportRepository.GetEmailByUid(objtaskdto.CreatedBy); List <string> ObjToAddresses = new List <string>(); List <string> ObjFilteredToAddresses = new List <string>(); ObjToAddresses.Add(objtaskdto.AssignedTo); ObjToAddresses.Add(objtaskdto.RefereedTo); ObjToAddresses.Add(objtaskdto.CreatedBy); // Get All Stackholders related to project ObjToAddresses.AddRange(ProjectRepository.GetProjectUsers(objtaskdto.ProjectID)); ObjFilteredToAddresses = ObjToAddresses.Distinct().ToList(); ObjFilteredToAddresses = UserRepository.GetEmailAddressesByUserIds(ObjFilteredToAddresses); string subject = "Zon Ticketing System - New Ticket Information"; StringBuilder sb = new StringBuilder(); sb.Append("<table width=100% align='center'>"); sb.Append("<tr><td>Task ID</td><td>" + objtask.ID + "</td></tr>"); sb.Append("<tr><td>Task Name<center></td><td>" + objtask.Title + "</td></tr>"); sb.Append("<tr><td>Task Description<center></td><td><center>" + objtask.Description + "</td></tr>"); sb.Append("<tr><td>Assigned To<center></td><td><center>" + UserRepository.GetFnamebyUid(objtask.AssignedTo) + "</td></tr>"); sb.Append("<tr><td>Reffer To<center></td><td><center>" + UserRepository.GetFnamebyUid(objtask.RefereedTo) + "</td></tr>"); sb.Append("</table>"); foreach (var toMail in ObjFilteredToAddresses) { MailSender.TaskStatusCreate_UpdationMail(UserReportRepository.GetFnameByEmail(toMail), subject, sb.ToString(), toMail); } } return(res); }
//get User level report public dynamic Post(ReportDTO objreport) { return(UserReportRepository.GetReportData(objreport.UserID, objreport.TaskTypeID, objreport.TaskStatusID, objreport.FromDate, objreport.ToDate)); }