/// Assign a Task to an Aircraft public async Task <HttpResponseMessage> AssignTaskToAircraft(AssignTaskRequest req) { this.client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Constants.Token); var jsonToSend = JsonConvert.SerializeObject(req); var content = new StringContent(jsonToSend, Encoding.UTF8, Constants.Headers.ContentType); var result = await this.API.AssignTaskToAircraft(Constants.Headers.ContentType, content); return(result); }
public void Should_Pass_Correct_Request() { var validator = new AssignTaskRequestValidator(); var mockRequest = new AssignTaskRequest() { UsersToAssign = new List <Guid>() { Guid.NewGuid() } }; var result = validator.Validate(mockRequest); result.IsValid.Should().Be(true); result.Errors.Count.Should().Be(0); }
public async Task <IActionResult> AssignUsers([FromRoute] Guid taskId, [FromBody] AssignTaskRequest request) { var result = _requestValidator.Validate(request); if (!result.IsValid) { throw new InvalidValueException(result.Errors.Select(e => e.ErrorMessage).Distinct().ToArray()); } var(Assigned, NotAssigned) = await _tasksService.AssignUsers(taskId, request.UsersToAssign, request.UsersToUnssign); return(Ok(new AssignTaskResponse() { UsersAssigned = Assigned, UsersNotAssigned = NotAssigned })); }
public void Should_Fail_On_Empty_Users_List() { var validator = new AssignTaskRequestValidator(); var mockRequest = new AssignTaskRequest() { UsersToAssign = new List <Guid>() { } }; var result = validator.Validate(mockRequest); result.IsValid.Should().BeFalse(); result.Errors.Count.Should().Be(1); result.Errors.FirstOrDefault(e => e.ErrorMessage == "Request shuld have at least one user to assign task to.").Should().NotBeNull(); }
// Assign a Task to an Aircraft public async Task <ResponseBase> AssignTaskToAircraft(string aircraftId, string title, string description, string status) { // Resnpose Base object intiialise var responseData = new ResponseBase { HasBeenSuccessful = false }; var serviceTaskReq = new AssignTaskRequest(); serviceTaskReq.AircraftId = aircraftId; serviceTaskReq.Title = title; serviceTaskReq.Description = description; serviceTaskReq.Status = status; var result = await this.apiWrapper.AssignTaskToAircraft(serviceTaskReq); string content = await result.Content.ReadAsStringAsync(); if (result.StatusCode == HttpStatusCode.OK) { try { var deserializedContent = JsonConvert.DeserializeObject <ResponseBase>(content); if (!deserializedContent.HasBeenSuccessful || deserializedContent.Error != null) { responseData.HasBeenSuccessful = false; responseData.Error = "Internal Server Error"; return(responseData); } responseData.HasBeenSuccessful = true; responseData.Error = null; return(responseData); } catch (Exception e) { Console.WriteLine(e.StackTrace); responseData.HasBeenSuccessful = false; responseData.Error = "Deserialization Error"; return(responseData); } } responseData.HasBeenSuccessful = false; responseData.Error = "Internal Error" + result.StatusCode.ToString(); return(responseData); }
//private List<TaskApproval> ProcessApplicantForTaskApprovals(IList<taskapplicant> taskApplicants) //{ //} public int AssignTask(AssignTaskRequest taskRequest) { var userContext = _commonService.GetCurrentUserContext(); var dbApprovedApplicant = new approvedapplicant(); dbApprovedApplicant.ID = taskRequest.TaskApplicantId; dbApprovedApplicant.TASK_ID = taskRequest.TaskId; dbApprovedApplicant.APPLICANT_ID = taskRequest.ApplicantId; MapAuditFields <approvedapplicant>(ActionType.Insert, dbApprovedApplicant); var result = _requestorRepository.AssignTask(dbApprovedApplicant); if (result > 0) { var task = _taskRepository.GetTaskById(taskRequest.TaskId); var offering = _commonService.GetOfferings().Where(x => x.Id == task.OFFERING_ID).Select(x => x.Description).FirstOrDefault(); var applicant = _requestorRepository.GetTaskApplicantByApplicantId(taskRequest.TaskApplicantId); var applicantUserContext = _commonService.MapDetailsFromDeloitteNetworkWithoutUserContextObject(applicant.user.EMAIL_ID.Split('@')[0]); var RMGroupEmailAddress = _commonService.GetRMGroupEmailAddress(applicantUserContext.Department); var ccEmailAddress = taskRequest.TaskTypeId == 1 ? $"{userContext.EmailId};{applicant.user.MANAGER_EMAIL_ID};{RMGroupEmailAddress}" : userContext.EmailId; var mailMessage = EmailHelper.AssignNotification(applicant.user.FIRST_NAME + Constants.Space + applicant.user.LAST_NAME, applicant.task.TASK_NAME, applicant.task.PROJECT_NAME, applicant.task.PROJECT_WBS_Code, applicant.user.EMAIL_ID, ccEmailAddress, offering); var emailTracker = new EmailTracker { ToAddresses = applicant.user.EMAIL_ID, Subject = mailMessage.Subject, Body = mailMessage.Body, TaskId = taskRequest.TaskId, Source = ApplicationSource.WebApp.ToString() }; if (ccEmailAddress != null) { emailTracker.CcAddresses.Add(ccEmailAddress); } _emailTrackerService.InsertEmail(emailTracker); } return(result); }
public JsonResult AssignTask(AssignTaskRequest assignTaskRequest) { var result = _requestorService.AssignTask(assignTaskRequest); return Json(result, JsonRequestBehavior.DenyGet); }