public async Task CreatePOCAsync(IEnumerable <BlTaskPOCDetailRequest> request) { var requestArray = request.ToArray(); List <string> PocusernameList = new List <string>(); var getDate = DateTime.Now; foreach (var i in request) { if (i.Id == 0) { PocusernameList.Add(i.Pocusername.Trim()); } PocTaskId = i.PoctaskId; } string[] OutPutArray = RemoveDuplicates(PocusernameList.ToArray()); //Check & delete if the User is already assigned as POC //await _repo.DeletePocByTaskId(requestArray[0].PoctaskId); //await _repo.DeletePocByTaskId(requestArray[0].PoctaskId, requestArray[0].Pocusername); //await _repo.DeletePocByTaskId(requestArray[0].Id, requestArray[0].Pocusername); int id = 0; foreach (var i in OutPutArray) { //int id = 0; var taskPocs = new BlCreateTaskPocs { PoctaskId = PocTaskId, Pocusername = OutPutArray[id], ParentUsername = Models.GlobalLogin._userName, PocpersonalDate = getDate, PocdateAssigned = getDate, //POClevel = 0, //POCsort = "*" }; id = id + 1; var taskPocsMapped = _mapper.Map <BlCreateTaskPocs, TaskPocs>(taskPocs); await _repo.InsertTaskPocs(taskPocsMapped); } foreach (var i in request) { if (i.Id != 0) { var recordTaskPocs = await _repo.GetTaskPocsByTaskId(i.Id); if (recordTaskPocs == null) { throw new Exception("Record does not Exists!"); } foreach (var recordTaskPoc in recordTaskPocs) { //recordTaskPoc.Id = i.Id; //recordTaskPoc.PoctaskId = recordTaskPoc.PoctaskId; //recordTaskPoc.Pocusername = recordTaskPoc.Pocusername; if (i.PocdateClosed != null && i.PocdateClosed != "") { if (Convert.ToDateTime(i.PocdateClosed).ToShortDateString() != null) { recordTaskPoc.PocdateClosed = Convert.ToDateTime(i.PocdateClosed); } else { recordTaskPoc.PocdateClosed = null; } } else { recordTaskPoc.PocdateClosed = null; } //recordTaskPoc.ParentUsername = recordTaskPoc.ParentUsername; if (i.PocdateDue != null && i.PocdateDue != "") { if (Convert.ToDateTime(i.PocdateDue).ToShortDateString() != null) { recordTaskPoc.PocdateDue = Convert.ToDateTime(i.PocdateDue); } else { recordTaskPoc.PocdateDue = null; } } else { recordTaskPoc.PocdateDue = null; } //if (i.PocdateAssigned != null && i.PocdateAssigned != "") //{ // if (Convert.ToDateTime(i.PocdateAssigned).ToShortDateString() != null) // recordTaskPoc.PocdateAssigned = Convert.ToDateTime(i.PocdateAssigned); // //else // // recordTaskPoc.PocdateAssigned = DateTime.Today(); //} //recordTaskPoc.Pocsort = recordTaskPoc.Pocsort; //recordTaskPoc.Poclevel = recordTaskPoc.Poclevel; //recordTaskPoc.PocisFlagged = recordTaskPoc.PocisFlagged; //recordTaskPoc.PocpersonalNote = recordTaskPoc.PocpersonalNote; //recordTaskPoc.PocpersonalDate = recordTaskPoc.PocpersonalDate; await _repo.UpdateTaskPocAsync(recordTaskPoc); } } } }
public async System.Threading.Tasks.Task CreateAsync(BL_TaskCreateRequest request) { //var taskList = await _repo.GetAllTasks(); var taskList = await _repo.GetTopTasks(); int taskId = 1; if (taskList.Count() != 0) { var lastTaskId = taskList.OrderByDescending(s => s.Id).Select(s => s.Id).FirstOrDefault(); taskId = lastTaskId + 1; } //Insert Task var tasks = _mapper.Map <BL_TaskCreateRequest, Tasks>(request); //tasks.FileNumber = taskId.ToString(); tasks.Type = "Suspense"; tasks.Status = "Open"; await _repo.InsertTask(tasks); var getDate = DateTime.Now; //Insert Pocsusername var taskPocs = new BlCreateTaskPocs { PoctaskId = taskId, Pocusername = request.UserName, PocdateAssigned = getDate, PocpersonalDate = getDate, //ParentUsername = request.UserName ParentUsername = "******", POClevel = 0, POCsort = "*" }; var taskPocsMapped = _mapper.Map <BlCreateTaskPocs, TaskPocs>(taskPocs); await _repo.InsertTaskPocs(taskPocsMapped); //Insert TaskUpdate var taskUpdate = new BlTaskUpdates { TaskId = taskId, DateUpdate = getDate, UserName = request.UserName }; var taskUpdateMapped = _mapper.Map <BlTaskUpdates, TaskUpdates>(taskUpdate); await _repo.InsertTaskUpdates(taskUpdateMapped); //Email Funtionality Email Email = new Email(); MailContentModel mailSettings = Email.EmailSettings; // Send success notification... mailSettings.MailSubject = "Test Test Test"; string details = "~~ Inbound Acknowledgement File Processed Successfully ~~"; details += Environment.NewLine; details += string.Format("Process Date/Time: {0:MM-dd-yyyy hh:mm:ss tt}, ", DateTime.Now); details += Environment.NewLine; details += string.Format("Record Count:{0}", 20); mailSettings.MailBody = details; mailSettings.MailTo = "*****@*****.**"; EmailUtility.SendMailMessage(mailSettings); }