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 }); }
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 }); }
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)); }
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); }
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)); }