// POST api/Delegate/Create public IHttpActionResult CreateDelegate(int empnum, [FromBody] DelegateDTO delegateDto) { var d = new Delegate() { StartDate = delegateDto.StartDate, EndDate = delegateDto.EndDate, EmpNum = empnum }; _delegateRepo.Add(d); //Send email on new thread var employee = _employeeRepo.GetById(empnum); var headEmail = _employeeRepo.GetDepartmentHead(employee.DeptCode).EmailAddress; var email = new LUSSISEmail.Builder().From(headEmail).To(employee.EmailAddress) .ForNewDelegate().Build(); new Thread(delegate() { EmailHelper.SendEmail(email); }).Start(); //return delegate with id included var id = _delegateRepo.FindExistingByDeptCode(employee.DeptCode).DelegateId; delegateDto.DelegateId = id; return(Ok(delegateDto)); }
// POST api/Delegate/Delete public IHttpActionResult DeleteDelegate([FromBody] DelegateDTO delegateDto) { var del = _delegateRepo.GetById(delegateDto.DelegateId); var toEmail = _employeeRepo.GetById(del.EmpNum).EmailAddress; var deptCode = _employeeRepo.GetById(del.EmpNum).DeptCode; _delegateRepo.Delete(del); //Send email var headEmail = _employeeRepo.GetDepartmentHead(deptCode).EmailAddress; var email = new LUSSISEmail.Builder().From(headEmail).To(toEmail) .ForOldDelegate().Build(); new Thread(delegate() { EmailHelper.SendEmail(email); }).Start(); return(Ok(new { Message = "Delegate has been revoked" })); }
public IHttpActionResult GetDelegate([FromUri] string dept) { var @delegate = _delegateRepo.FindExistingByDeptCode(dept); if (@delegate == null) { return(BadRequest("No delegate available.")); } var result = new DelegateDTO() { DelegateId = @delegate.DelegateId, StartDate = @delegate.StartDate, EndDate = @delegate.EndDate, Employee = new EmployeeDTO(@delegate.Employee) { IsDelegated = true } }; return(Ok(result)); }