diff --git a/BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs b/BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs index d2a4c5b..0712005 100644 --- a/BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs +++ b/BCS.BMC/src/BCS.BMC.Web.Core/Controllers/TokenAuthController.cs @@ -30,6 +30,7 @@ using System.IO; using Abp.AutoMapper; using Abp.Domain.Entities; using BCS.BMC.BMC.FirebaseCloudMessages; +using System.Text.RegularExpressions; namespace BCS.BMC.Controllers { @@ -430,5 +431,198 @@ namespace BCS.BMC.Controllers } return Ok("Success"); } + + //[HttpPost] + //public async Task ForgotPasswordForBmcUser([FromBody] ForgotPasswordInput input) + //{ + // using (HttpClient client = new HttpClient()) + // { + // var baseUrl = input.CompanyUrl + "/api/services/bwac/employeeRegister/RegisterEmployeeAsNewUser"; + + // var data = new + // { + // userName = input.UserName, + // AppType = input.AppType + // }; + // var requestJson = JsonConvert.SerializeObject(data); + // var requestContent = new StringContent(requestJson.ToString()); + // requestContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json"); + // HttpResponseMessage response = await client.PostAsync(baseUrl, requestContent); + // return Ok("Success"); + // } + //} + //---------------------- + + [HttpPost] + public async Task GetBmcPhoneOrEmailByUserId([FromBody] ForgotPasswordInput input) + { + Uri uri = new Uri(input.CompanyUrl, UriKind.Absolute); + var domain = uri.Host; + + if (string.IsNullOrWhiteSpace(input.CompanyUrl)) + { + return BadRequest("Please Enter A Valid Url"); + } + var company = await _companyMaster.FirstOrDefaultAsync(x => x.DomainName == domain); + if (company == null) + { + return BadRequest("Url Not Found"); + } + + using (HttpClient client = new HttpClient()) + { + var baseUrl = input.CompanyUrl + "api/services/bwac/bmcUserForgotPassword/GetPhoneOrEmailByUserId"; + + var data = new + { + userName = input.UserName, + appType = input.AppType + }; + var requestJson = JsonConvert.SerializeObject(data); + var requestContent = new StringContent(requestJson.ToString()); + requestContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json"); + HttpResponseMessage response = await client.PostAsync(baseUrl, requestContent); + if (response.IsSuccessStatusCode) + { + var contents = await response.Content.ReadAsStringAsync(); + ForgotPasswordUserResponse result = JsonConvert.DeserializeObject(contents); + var emailOrPhone = result.result; + int num; + bool isMobile = Int32.TryParse(emailOrPhone,out num); + if (isMobile) + { + result.type = "phoneNo"; + return Ok(result); + } + if (!isMobile) + { + result.type = "emailAddress"; + return Ok(result); + } + } + var content = await response.Content.ReadAsStringAsync(); + ResponseMessageModel results = JsonConvert.DeserializeObject(content); + return BadRequest(results.error.message.ToString()); + } + } + [HttpPost] + public async Task ForgotPasswordForBmcUser([FromBody] ForgotPasswordInput input) + { + Uri uri = new Uri(input.CompanyUrl, UriKind.Absolute); + var domain = uri.Host; + + if (string.IsNullOrWhiteSpace(input.CompanyUrl)) + { + return BadRequest("Please Enter A Valid Url"); + } + var company = await _companyMaster.FirstOrDefaultAsync(x => x.DomainName == domain); + if (company == null) + { + return BadRequest("Url Not Found"); + } + + using (HttpClient client = new HttpClient()) + { + var baseUrl = input.CompanyUrl + "api/services/bwac/bmcUserForgotPassword/ForgotPassword"; + + var data = new + { + userName = input.UserName, + appType = input.AppType + }; + var requestJson = JsonConvert.SerializeObject(data); + var requestContent = new StringContent(requestJson.ToString()); + requestContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json"); + HttpResponseMessage response = await client.PostAsync(baseUrl, requestContent); + if (response.IsSuccessStatusCode) + { + return Ok(); + } + else + { + var contents = await response.Content.ReadAsStringAsync(); + ResponseMessageModel result = JsonConvert.DeserializeObject(contents); + return BadRequest(result.error.message.ToString()); + } + } + } + + [HttpPost] + public async Task BmcAuthenticateForgotPasswordCode([FromBody] ForgotPasswordUserAndCodeInput input) + { + Uri uri = new Uri(input.CompanyUrl, UriKind.Absolute); + var domain = uri.Host; + + if (string.IsNullOrWhiteSpace(input.CompanyUrl)) + { + return BadRequest("Please Enter A Valid Url"); + } + var company = await _companyMaster.FirstOrDefaultAsync(x => x.DomainName == domain); + if (company == null) + { + return BadRequest("Url Not Found"); + } + + using (HttpClient client = new HttpClient()) + { + var baseUrl = input.CompanyUrl + "api/services/bwac/bmcUserForgotPassword/BmcAuthenticateForgotPasswordCode"; + + var data = new + { + userName = input.UserName, + code = input.Code + }; + var requestJson = JsonConvert.SerializeObject(data); + var requestContent = new StringContent(requestJson.ToString()); + requestContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json"); + HttpResponseMessage response = await client.PostAsync(baseUrl, requestContent); + if (response.IsSuccessStatusCode) + { + return Ok(); + } + var contents = await response.Content.ReadAsStringAsync(); + ResponseMessageModel result = JsonConvert.DeserializeObject(contents); + return BadRequest(result.error.message.ToString()); + } + } + + [HttpPost] + public async Task BmcResetPassword([FromBody] ForgotPasswordUserAndPwdInput input) + { + Uri uri = new Uri(input.CompanyUrl, UriKind.Absolute); + var domain = uri.Host; + + if (string.IsNullOrWhiteSpace(input.CompanyUrl)) + { + return BadRequest("Please Enter A Valid Url"); + } + var company = await _companyMaster.FirstOrDefaultAsync(x => x.DomainName == domain); + if (company == null) + { + return BadRequest("Url Not Found"); + } + + using (HttpClient client = new HttpClient()) + { + var baseUrl = input.CompanyUrl + "api/services/bwac/bmcUserForgotPassword/BmcResetPassword"; + + var data = new + { + userName = input.UserName, + password = input.Password + }; + var requestJson = JsonConvert.SerializeObject(data); + var requestContent = new StringContent(requestJson.ToString()); + requestContent.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json"); + HttpResponseMessage response = await client.PostAsync(baseUrl, requestContent); + if (response.IsSuccessStatusCode) + { + return Ok(); + } + var contents = await response.Content.ReadAsStringAsync(); + ResponseMessageModel result = JsonConvert.DeserializeObject(contents); + return BadRequest(result.error.message.ToString()); + } + } } } diff --git a/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordInput.cs b/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordInput.cs new file mode 100644 index 0000000..40a3242 --- /dev/null +++ b/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordInput.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BCS.BMC.Models.TokenAuth +{ + public class ForgotPasswordInput + { + public string CompanyUrl { get; set; } + public string UserName { get; set; } + public int AppType { get; set; } + } +} diff --git a/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserAndCodeInput.cs b/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserAndCodeInput.cs new file mode 100644 index 0000000..b70eeee --- /dev/null +++ b/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserAndCodeInput.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BCS.BMC.Models.TokenAuth +{ + public class ForgotPasswordUserAndCodeInput + { + public string CompanyUrl { get; set; } + public string UserName { get; set; } + public string Code { get; set; } + } +} diff --git a/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserAndPwdInput.cs b/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserAndPwdInput.cs new file mode 100644 index 0000000..1644384 --- /dev/null +++ b/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserAndPwdInput.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BCS.BMC.Models.TokenAuth +{ + public class ForgotPasswordUserAndPwdInput + { + public string CompanyUrl { get; set; } + public string UserName { get; set; } + public string Password { get; set; } + } +} diff --git a/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserResponse.cs b/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserResponse.cs new file mode 100644 index 0000000..9e84639 --- /dev/null +++ b/BCS.BMC/src/BCS.BMC.Web.Core/Models/TokenAuth/ForgotPasswordUserResponse.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BCS.BMC.Models.TokenAuth +{ + public class ForgotPasswordUserResponse : result + { + public string result { get; set; } + public string type { get; set; } + } +} diff --git a/BCS.BMC/src/BCS.BMC.Web.Mvc/Controllers/NotificationController.cs b/BCS.BMC/src/BCS.BMC.Web.Mvc/Controllers/NotificationController.cs index 9c7a637..c656555 100644 --- a/BCS.BMC/src/BCS.BMC.Web.Mvc/Controllers/NotificationController.cs +++ b/BCS.BMC/src/BCS.BMC.Web.Mvc/Controllers/NotificationController.cs @@ -208,8 +208,8 @@ namespace BCS.BMC.Web.Controllers string baseUrl = ""; foreach (var outputMessage in bmcMessageStatusInput) { - var companyDetails = _companyMasterService.GetAllList().Where(x => x.Url.Trim() == outputMessage.CompanyUrl.Trim()).FirstOrDefault(); - baseUrl = companyDetails.Url + "api/services/bwac/updateBmcMessageStatus/UpdateMessageStatus"; + // var companyDetails = _companyMasterService.GetAllList().Where(x => x.Url.Trim() == outputMessage.CompanyUrl.Trim()).FirstOrDefault(); + baseUrl = outputMessage.CompanyUrl + "api/services/bwac/updateBmcMessageStatus/UpdateMessageStatus"; } using (HttpClient client = new HttpClient())