public ManageAgentContactReq SetAgentContactInfoWithModel(AgentContactPartnerReq model) { ManageAgentContactReq res = new ManageAgentContactReq(); res.ContactMappingInfo = new ManageAgentContactMapping(); res.CompanyId = model.AgentContactInfo.ApplicationAgentEntityCode; res.ContactMappingInfo.PartnerEntityCode = model.AgentContactInfo.ApplicationEntityCode; res.ContactMappingInfo.PartnerEntityName = model.AgentContactInfo.FirstName + " " + model.AgentContactInfo.LastName; res.ContactMappingInfo.Telephone = model.AgentContactInfo.Telephone; res.ContactMappingInfo.Application = model.CredentialInfo.Source.ToUpper(); res.ContactMappingInfo.Title = model.AgentContactInfo.Title; res.ContactMappingInfo.FirstName = model.AgentContactInfo.FirstName; res.ContactMappingInfo.LastName = model.AgentContactInfo.LastName; res.ContactMappingInfo.Email = model.AgentContactInfo.Email; res.CredentialInfo = new IntegrationLoginRequest(); res.CredentialInfo.Key = model.CredentialInfo.Key; res.CredentialInfo.User = model.CredentialInfo.User; res.CredentialInfo.Source = model.CredentialInfo.Source.ToUpper(); return(res); }
public async Task <IActionResult> UpdateAgentContactInfo([FromBody] AgentContactPartnerReq model) { ManageAgentContactReq request = new ManageAgentContactReq(); var response = new AgentThirdPartyGetRes(); try { if (!ModelState.IsValid) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Request is not valid"; return(BadRequest(ModelState)); } else { if (model != null) { request = SetAgentContactInfoWithModel(model); IntegrationLoginResponse objTokenResponse = loginProviders.GetIntegrationToken(request.CredentialInfo).Result; if (string.Compare(objTokenResponse.Message, "Success", true) == 0 && objTokenResponse.Token != "") { request.ContactMappingInfo.CreateUser = objTokenResponse.UserInfo.UserName; request.ContactMappingInfo.Application = request.CredentialInfo.Source; request.Token = objTokenResponse.Token; request.LoggedInUserContactId = objTokenResponse.UserInfo.Contact_Id; //request.ContactMappingInfo.CreateUser = objTokenResponse.UserInfo.u AgentThirdPartyGetReq CompanyInfoRequest = new AgentThirdPartyGetReq(); CompanyInfoRequest.PartnerEntityCode = request.CompanyId; CompanyInfoRequest.Application = request.ContactMappingInfo.Application; var CompanyInfo = agentProviders.GetPartnerAgentDetails(CompanyInfoRequest, objTokenResponse.Token).Result; if (CompanyInfo != null && string.IsNullOrEmpty(CompanyInfo.CompanyId)) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Company/Agent details doesn't exists."; return(NotFound(response.ResponseStatus)); } request.SelectedCompanyId = CompanyInfo.CompanyId; AgentThirdPartyGetReq ContactInfoRequest = new AgentThirdPartyGetReq(); ContactInfoRequest.PartnerEntityCode = request.ContactMappingInfo.PartnerEntityCode; ContactInfoRequest.PartnerEntityName = request.ContactMappingInfo.PartnerEntityName; ContactInfoRequest.Application = request.ContactMappingInfo.Application; var ContactInfo = agentProviders.GetPartnerAgentContactDetails(ContactInfoRequest, objTokenResponse.Token).Result; request.SelectedContactId = ContactInfo.ContactId; if (ContactInfo != null && !string.IsNullOrEmpty(request.SelectedCompanyId) && string.IsNullOrEmpty(ContactInfo.ContactId)) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Contact details doesn't exists."; return(NotFound(response.ResponseStatus)); } //Update Contact against the agent/contact response = agentProviders.UpdatePartnerAgentContactDetails(request, objTokenResponse.Token).Result; } else { return(Unauthorized()); } } else { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "Contact Info details can not be save due to error."; return(BadRequest(response.ResponseStatus)); } } } catch (Exception ex) { response.ResponseStatus.Status = "Failure"; response.ResponseStatus.ErrorMessage = "An error occurs " + ex.Message.ToString(); return(BadRequest(response.ResponseStatus)); } //return Ok(response.ResponseStatus); return(Ok(new { Status = response.ResponseStatus.Status, ErrorMessage = response.ResponseStatus.ErrorMessage, StatusMessage = response.ResponseStatus.StatusMessage, Id = response.ContactId })); }