public async Task <IActionResult> UpdatePositionAssign([FromBody] UpdatePositionAssignModel assignation) { var result = await _positionAssignRepo.UpdateAssign(assignation); UserModel UserName = _userRepo.GetUser(); if (result.Ok) { var History = new HistoryModel(); // Add to History all actions of relevancy { History.StaffID = assignation.StaffID; History.MPLID = assignation.MPLID; History.HistoryDate = DateTime.UtcNow; History.HistoryAction = "Updated Placement"; History.HistoryLocation = "Some Destínation"; History.ApplicationType = "Assign"; History.DateModified = DateTime.UtcNow; History.Status = "Received"; History.StartDate = assignation.StartDate; History.Accepted = assignation.Accept; History.EndDate = assignation.EndDate; History.HistoryWho = UserName.UserName; // History.HistoryWho = System.Security.Principal.WindowsIdentity.GetCurrent().Name; }; _historyRepo.UpdateHistory(History); } return(Ok(result)); }
public async Task <string> SendMailAsync([FromBody] MailModelSelect model) { UserModel UserName = _userRepo.GetUser(); foreach (string userid in model.StaffID) { try { var staff = (await _positionAssignRepo.StaffAssign(userid)).OrderBy(m => m.StaffStartDate).ToList(); var staffOnly = _staffRepo.GetByStaffIdJoins(userid); //if (staffOnly==null) //{ // var staffOnly2 = _staffRepo.GetByStaffId(userid); //} var templates = _mailRepos.GetTemplate(model.TemplateName); string content1 = model.Content.Replace("/\r", "<br />"); string content = content1.Replace("\n", "<br />"); dynamic currentPositionAssign = null; dynamic nextPositionAssign = null; dynamic followingPositionAssign = null; for (var assignobj = 0; assignobj < staff.Count; assignobj++) { switch (assignobj) { case 0: currentPositionAssign = staff[assignobj]; content = content.Replace("<DESTINATION1>", currentPositionAssign.Destination); content = content.Replace("<RESORT1>", currentPositionAssign.ConceptHotel); content = content.Replace("<JOBTITLE1>", currentPositionAssign.JobTitle); content = content.Replace("<CENTRALID>", currentPositionAssign.CentralID); content = content.Replace("<ASSIGNSTARTDATE1>", currentPositionAssign.StaffStartDate.ToString("yyyy-MM-dd")); content = content.Replace("<ASSIGNENDDATE1>", currentPositionAssign.StaffEndDate.ToString(("yyyy-MM-dd"))); break; case 1: nextPositionAssign = staff[assignobj]; content = content.Replace("<DESTINATION2>", nextPositionAssign.Destination); content = content.Replace("<RESORT2>", nextPositionAssign.ConceptHotel); content = content.Replace("<JOBTITLE2>", nextPositionAssign.JobTitle); content = content.Replace("<ASSIGNSTARTDATE2>", nextPositionAssign.StaffStartDate.ToString(("yyyy-MM-dd"))); content = content.Replace("<ASSIGNENDDATE2>", nextPositionAssign.StaffEndDate.ToString(("yyyy-MM-dd"))); break; case 2: followingPositionAssign = staff[assignobj]; content = content.Replace("<DESTINATION3>", followingPositionAssign.Destination); content = content.Replace("<RESORT3>", followingPositionAssign.ConceptHotel); content = content.Replace("<JOBTITLE3>", followingPositionAssign.JobTitle); content = content.Replace("<ASSIGNSTARTDATE3>", followingPositionAssign.StaffStartDate.ToString(("yyyy-MM-dd"))); content = content.Replace("<ASSIGNENDDATE3>", followingPositionAssign.StaffEndDate.ToString(("yyyy-MM-dd"))); break; } } content = content.Replace("<FIRSTNAME>", staffOnly.FirstName); content = content.Replace("<LASTNAME>", staffOnly.LastName); string subject = model.Subject; subject = subject.Replace("<FIRSTNAME>", staffOnly.FirstName); subject = subject.Replace("<LASTNAME>", staffOnly.LastName); // subject = subject.Replace("<FORMNAME>", "Staff Profil"); string[] email = new string[] { staffOnly.Email, staffOnly.Email }; List <KeyValuePair <string, string> > bodyProperties = new List <KeyValuePair <string, string> >(); foreach (var dir in email) { bodyProperties.Add(new KeyValuePair <string, string>("emailTo", dir.ToString())); } bodyProperties.Add(new KeyValuePair <string, string>("userAddress", model.Email)); bodyProperties.Add(new KeyValuePair <string, string>("subject", subject)); bodyProperties.Add(new KeyValuePair <string, string>("body", content)); bodyProperties.Add(new KeyValuePair <string, string>("isBodyHtml", "true")); // subject = subject.Replace("<FORMNAME>", "Staff Profil"); var dataContent = new FormUrlEncodedContent(bodyProperties.ToArray()); var contents = new FormUrlEncodedContent(bodyProperties); var response = await client.PostAsync(Config.MailApi, contents); var responseString = await response.Content.ReadAsStringAsync(); var History = new HistoryModel(); // Add to History all actions of relevancy { History.StaffID = userid; History.HistoryDate = DateTime.UtcNow; History.HistoryAction = "Mail Sent using template " + model.TemplateName; History.HistoryLocation = "Some Destínation"; History.ApplicationType = "Mail"; History.DateModified = DateTime.UtcNow; History.Status = "Sent"; // History.StartDate = assignation.StartDate; // History.Accepted = assignation.Accept; //History.EndDate = assignation.EndDate; History.HistoryWho = UserName.UserName; //History.HistoryWho = System.Security.Principal.WindowsIdentity.GetCurrent().Name; }; _historyRepo.UpdateHistory(History); } catch (Exception e) { Console.Write(e); return(e.ToString()); } } return("Ok"); }