コード例 #1
0
        public async Task <OutputResponse> Update(ResponseTeamMemberDTO teamMember)
        {
            var teamMemberToUpdate = await _context.ResponseTeamMembers.FirstOrDefaultAsync(x => x.TeamMemberId.Equals(teamMember.TeamMemberId));

            if (teamMemberToUpdate == null)
            {
                return(new OutputResponse
                {
                    IsErrorOccured = true,
                    Message = "Team member specified does not exist, update cancelled"
                });
            }

            //update details
            teamMemberToUpdate.FirstName    = teamMember.FirstName;
            teamMemberToUpdate.OtherNames   = teamMember.OtherNames;
            teamMemberToUpdate.Surname      = teamMember.Surname;
            teamMemberToUpdate.EmailAddress = teamMember.EmailAddress;
            teamMemberToUpdate.PhoneNumber  = teamMember.PhoneNumber;
            teamMemberToUpdate.RowAction    = "U";
            teamMemberToUpdate.ModifiedBy   = teamMember.CreatedBy;
            teamMemberToUpdate.DateModified = DateTime.UtcNow.AddHours(2);

            await _context.SaveChangesAsync();

            return(new OutputResponse
            {
                IsErrorOccured = false,
                Message = MessageHelper.UpdateSuccess
            });
        }
コード例 #2
0
        public async Task <OutputResponse> Add(ResponseTeamMemberDTO teamMember)
        {
            var isFound = await _context.ResponseTeamMembers.AnyAsync(x => x.PhoneNumber == teamMember.PhoneNumber);

            if (isFound)
            {
                return(new OutputResponse
                {
                    IsErrorOccured = true,
                    Message = "Team member with this phone number already exist, duplicates not allowed"
                });
            }

            var mappedTeamMember = new AutoMapperHelper <ResponseTeamMemberDTO, ResponseTeamMembers>().MapToObject(teamMember);

            mappedTeamMember.RowAction   = "I";
            mappedTeamMember.DateCreated = DateTime.UtcNow.AddHours(2);

            await _context.ResponseTeamMembers.AddAsync(mappedTeamMember);

            await _context.SaveChangesAsync();

            return(new OutputResponse
            {
                IsErrorOccured = false,
                Message = MessageHelper.AddNewSuccess
            });
        }
コード例 #3
0
        public async Task <IActionResult> Create([Bind] ResponseTeamMemberDTO responseTeamMember)
        {
            string url = $"{CoreApiUrl}ResponseTeamMembers/Add";

            //Clean up phoner number
            var sanitizedNumber = PhoneNumberSanitizer.Sanitize(responseTeamMember.PhoneNumber, "+265");

            responseTeamMember.PhoneNumber = sanitizedNumber;
            var fullName = $"{responseTeamMember.FirstName} {responseTeamMember.Surname}";

            var accessToken = await HttpContext.GetTokenAsync("access_token");

            var response = await HttpRequestFactory.Post(accessToken, url, responseTeamMember);

            if (response.StatusCode == HttpStatusCode.Created)
            {
                var identityResponse = await HttpRequestFactory.Post($"{IdentityServerAuthority}/api/Users/RegisterUser", new UserDTO { PhoneNumber = responseTeamMember.PhoneNumber, FullName = fullName });

                if (identityResponse.StatusCode == HttpStatusCode.Created)
                {
                    AppContextHelper.SetToastMessage("User account has been successfully created", MessageType.Danger, 1, Response);
                }
                AppContextHelper.SetToastMessage("Response team member has been successfully created", MessageType.Success, 1, Response);
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                AppContextHelper.SetToastMessage("Failed to create response team member", MessageType.Danger, 1, Response);
                ModelState.AddModelError("", HttpResponseHandler.Process(response));
            }

            return(View(responseTeamMember));
        }
        public async Task <IActionResult> Update([FromBody] ResponseTeamMemberDTO teamMember)
        {
            var outputHandler = await _service.Update(teamMember);

            if (outputHandler.IsErrorOccured)
            {
                return(BadRequest(outputHandler.Message));
            }

            return(Ok(outputHandler.Message));
        }
コード例 #5
0
        private async Task <ResponseTeamMemberDTO> GetResponseTeamMember(int teamMemberId)
        {
            string url = $"{CoreApiUrl}ResponseTeamMembers/GetById?teamMemberId={teamMemberId}";
            var    responseTeamMember = new ResponseTeamMemberDTO();

            var accessToken = await HttpContext.GetTokenAsync("access_token");

            var response = await HttpRequestFactory.Get(accessToken, url);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                responseTeamMember = response.ContentAsType <ResponseTeamMemberDTO>();
            }
            else
            {
                ModelState.AddModelError("", HttpResponseHandler.Process(response));
            }
            return(responseTeamMember);
        }
コード例 #6
0
        public async Task <IActionResult> Edit([Bind] ResponseTeamMemberDTO responseTeamMember)
        {
            string url = $"{CoreApiUrl}ResponseTeamMembers/Update";

            var accessToken = await HttpContext.GetTokenAsync("access_token");

            var response = await HttpRequestFactory.Put(accessToken, url, responseTeamMember);

            if (response.StatusCode == HttpStatusCode.OK)
            {
                AppContextHelper.SetToastMessage("Response team member has been successfully updated", MessageType.Success, 1, Response);
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                AppContextHelper.SetToastMessage("Failed to update response team member", MessageType.Danger, 1, Response);
                ModelState.AddModelError("", HttpResponseHandler.Process(response));
            }
            return(View(responseTeamMember));
        }