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);
        }
Example #2
0
        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);
        }
Example #4
0
 //get User level report
 public dynamic Post(ReportDTO objreport)
 {
     return(UserReportRepository.GetReportData(objreport.UserID, objreport.TaskTypeID, objreport.TaskStatusID, objreport.FromDate, objreport.ToDate));
 }