Exemple #1
0
        /// 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);
        }
Exemple #2
0
        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);
        }
Exemple #3
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
            }));
        }
Exemple #4
0
        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();
        }
Exemple #5
0
        // 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);
        }
Exemple #6
0
        //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);
        }
Exemple #7
0
        public JsonResult AssignTask(AssignTaskRequest assignTaskRequest)
        {
            var result = _requestorService.AssignTask(assignTaskRequest);

            return Json(result, JsonRequestBehavior.DenyGet);
        }