public async Task <object> loginHash([FromBody] LoginHashData data) { try { var userName = SHAHelper.TwoWayDecrypt(data.UserName, "APFamilyAPThaiAP"); var password = SHAHelper.TwoWayDecrypt(data.Password, "APFamilyAPThaiAP"); var appCode = "Defect"; string APApiKey = Environment.GetEnvironmentVariable("API_Key"); if (APApiKey == null) { APApiKey = UtilsProvider.AppSetting.ApiKey; } string APApiToken = Environment.GetEnvironmentVariable("Api_Token"); if (APApiToken == null) { APApiToken = UtilsProvider.AppSetting.ApiToken; } var client = new HttpClient(); var Content = new StringContent(JsonConvert.SerializeObject(data)); Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); Content.Headers.Add("api_key", APApiKey); Content.Headers.Add("api_token", APApiToken); string PostURL = Environment.GetEnvironmentVariable("AuthenticationURL"); PostURL = PostURL + "JWTUserLogin"; if (PostURL == null) { PostURL = UtilsProvider.AppSetting.AuthorizeURL + "JWTUserLogin"; } var Respond = await client.PostAsync(PostURL, Content); if (Respond.StatusCode != System.Net.HttpStatusCode.OK) { return(new { success = false, data = new AutorizeDataJWT(), valid = false }); } var RespondData = await Respond.Content.ReadAsStringAsync(); AutorizeDataJWT Result = JsonConvert.DeserializeObject <AutorizeDataJWT>(RespondData); AutorizeDataJWTReturnObject Return = new AutorizeDataJWTReturnObject(); Return.AccountExpirationDate = Result.AccountExpirationDate; Return.AppUserRole = Result.AppUserRole; Return.AuthenticationProvider = Result.AuthenticationProvider; Return.CostCenterCode = Result.CostCenterCode; Return.CostCenterName = Result.CostCenterName; Return.DisplayName = Result.DisplayName; Return.Division = Result.Division; Return.DomainUserName = Result.DomainUserName; Return.Email = Result.Email; Return.EmployeeID = Result.EmployeeID; Return.FirstName = Result.FirstName; Return.LastLogon = Result.LastLogon; Return.LastName = Result.LastName; Return.LoginResult = Result.LoginResult; Return.LoginResultMessage = Result.LoginResultMessage; Return.SysAppCode = Result.SysAppCode; Return.SysUserData = JsonConvert.DeserializeObject <UserModel>(Result.SysUserData); Return.SysUserId = Result.SysUserId; Return.SysUserRoles = JsonConvert.DeserializeObject <CustomModel.vwUserRole>(Result.SysUserRoles); Return.Token = Result.Token; Return.UserApp = JsonConvert.DeserializeObject <List <vwUserApp> >(Result.UserApp); Return.UserPrincipalName = Result.UserPrincipalName; List <UserProject> userProjects = JsonConvert.DeserializeObject <List <UserProject> >(Result.UserProject); List <UserProjectType> userProjectTypes = new List <UserProjectType>(); for (int i = 0; i < userProjects.Count(); i++) { ICONEntFormsProduct Prd = _masterRepo.GetProductDataFromCRM_Sync(userProjects[i].ProjectCode); string obj = JsonConvert.SerializeObject(userProjects[i]); UserProjectType ProductObj = JsonConvert.DeserializeObject <UserProjectType>(obj); if (Prd != null) { if (Prd.Producttype == "โครงการแนวราบ") { ProductObj.producttypecate = "H"; } if (Prd.Producttype == "โครงการแนวสูง") { ProductObj.producttypecate = "V"; } } userProjectTypes.Add(ProductObj); } Return.UserProject = userProjectTypes; if (Result.LoginResult == false) { return(new { success = false, data = Result.LoginResultMessage, valid = false }); } AccessKeyControl AC = _UserRepository.GetUserAccessKey(Result.EmployeeID); if (AC == null) { AccessKeyControl accessKeyControl = new AccessKeyControl(); accessKeyControl.EmpCode = Result.EmployeeID; accessKeyControl.AccessKey = generateAccessKey(Result.EmployeeID); accessKeyControl.LoginDate = DateTime.Now; bool Insert = _UserRepository.InsertUserAccessKey(accessKeyControl); return(new { success = true, data = Return, AccessKey = accessKeyControl.AccessKey, valid = false }); } else { AC.AccessKey = generateAccessKey(Result.EmployeeID); AC.LoginDate = DateTime.Now; bool Update = _UserRepository.UpdateUserAccessKey(AC); return(new { success = true, data = Return, AccessKey = AC.AccessKey, valid = false }); } } catch (Exception ex) { return(StatusCode(500, "Internal server error :: " + ex.Message)); } }
public async Task <object> PostLogin([FromBody] LoginData data) { try { var userName = data.UserName; var password = data.Password; var appCode = data.AppCode; string APApiKey = Environment.GetEnvironmentVariable("API_Key"); if (APApiKey == null) { APApiKey = UtilsProvider.AppSetting.ApiKey; } if (data.UserLoginImage != null) // ถ่ายรูป { var client = new HttpClient(); var Content = new StringContent(JsonConvert.SerializeObject(data)); Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); Content.Headers.Add("api_key", APApiKey); string PostURL = Environment.GetEnvironmentVariable("AuthenticationURL"); if (PostURL == null) { PostURL = UtilsProvider.AppSetting.AuthorizeURL; } var Respond = await client.PostAsync(PostURL, Content); if (Respond.StatusCode != System.Net.HttpStatusCode.OK) { return(new { success = false, data = new AutorizeDataJWT(), Message = "Authentication Fail" }); } var RespondData = await Respond.Content.ReadAsStringAsync(); AutorizeDataJWT Result = JsonConvert.DeserializeObject <AutorizeDataJWT>(RespondData); if (Result.LoginResult == false) { return(new { success = false, data = new AutorizeDataJWT(), Message = Result.LoginResultMessage }); } AutorizeDataJWTReturnObject Return = new AutorizeDataJWTReturnObject(); Return.AccountExpirationDate = Result.AccountExpirationDate; Return.AppUserRole = Result.AppUserRole; Return.AuthenticationProvider = Result.AuthenticationProvider; Return.CostCenterCode = Result.CostCenterCode; Return.CostCenterName = Result.CostCenterName; Return.DisplayName = Result.DisplayName; Return.Division = Result.Division; Return.DomainUserName = Result.DomainUserName; Return.Email = Result.Email; Return.EmployeeID = Result.EmployeeID; Return.FirstName = Result.FirstName; Return.LastLogon = Result.LastLogon; Return.LastName = Result.LastName; Return.LoginResult = Result.LoginResult; Return.LoginResultMessage = Result.LoginResultMessage; Return.SysAppCode = Result.SysAppCode; Return.SysUserData = JsonConvert.DeserializeObject <UserModel>(Result.SysUserData); Return.SysUserId = Result.SysUserId; Return.SysUserRoles = JsonConvert.DeserializeObject <vwUserRole>(Result.SysUserRoles); Return.Token = Result.Token; Return.UserApp = JsonConvert.DeserializeObject <List <vwUserApp> >(Result.UserApp); Return.UserPrincipalName = Result.UserPrincipalName; Model.APFamily.RegisLoginHistory empProfile = _UserRepository.GetEmpProfile(Result.EmployeeID); if (empProfile == null) { Model.APFamily.RegisLoginHistory emp = new Model.APFamily.RegisLoginHistory(); emp.EmpCode = Result.EmployeeID; emp.EmpDeviceID = data.DeviceID; emp.EmpName = Result.FirstName; emp.EmpLastName = Result.LastName; emp.PositionName = Result.Division; emp.Email = Result.Email; emp.EmpLoginToken = generateToken(data.DeviceID); bool InsertEmpData = _UserRepository.InsertEmpProfile(emp); return(new { success = true, data = emp, Token = emp.EmpLoginToken, Message = "LogIn Success!" }); } else { if (data.DeviceID == empProfile.EmpDeviceID) { DateTime ExtainToken = Convert.ToDateTime(empProfile).AddDays(15); empProfile.EmpTokenExpire = ExtainToken; bool updateProfile = _UserRepository.UpdateEmpProfile(empProfile); return(new { success = true, data = empProfile, Token = empProfile.EmpLoginToken, Message = "LogIn Success!" }); } else { return(new { success = false, data = empProfile = new Model.APFamily.RegisLoginHistory(), Token = "", Message = "You Have Change you Device! Please Contact IT Admin for further Use!" }); } } } else { var client = new HttpClient(); var Content = new StringContent(JsonConvert.SerializeObject(data)); Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); Content.Headers.Add("api_key", APApiKey); string PostURL = Environment.GetEnvironmentVariable("AuthenticationURL"); if (PostURL == null) { PostURL = UtilsProvider.AppSetting.AuthorizeURL; } var Respond = await client.PostAsync(PostURL, Content); if (Respond.StatusCode != System.Net.HttpStatusCode.OK) { return(new { success = false, data = new AutorizeDataJWT(), Message = "Authentication Fail" }); } var RespondData = await Respond.Content.ReadAsStringAsync(); AutorizeDataJWT Result = JsonConvert.DeserializeObject <AutorizeDataJWT>(RespondData); if (Result.LoginResult == false) { return(new { success = false, data = new AutorizeDataJWT(), Message = Result.LoginResultMessage }); } AutorizeDataJWTReturnObject Return = new AutorizeDataJWTReturnObject(); Return.AccountExpirationDate = Result.AccountExpirationDate; Return.AppUserRole = Result.AppUserRole; Return.AuthenticationProvider = Result.AuthenticationProvider; Return.CostCenterCode = Result.CostCenterCode; Return.CostCenterName = Result.CostCenterName; Return.DisplayName = Result.DisplayName; Return.Division = Result.Division; Return.DomainUserName = Result.DomainUserName; Return.Email = Result.Email; Return.EmployeeID = Result.EmployeeID; Return.FirstName = Result.FirstName; Return.LastLogon = Result.LastLogon; Return.LastName = Result.LastName; Return.LoginResult = Result.LoginResult; Return.LoginResultMessage = Result.LoginResultMessage; Return.SysAppCode = Result.SysAppCode; Return.SysUserData = JsonConvert.DeserializeObject <UserModel>(Result.SysUserData); Return.SysUserId = Result.SysUserId; Return.SysUserRoles = JsonConvert.DeserializeObject <vwUserRole>(Result.SysUserRoles); Return.Token = Result.Token; Return.UserApp = JsonConvert.DeserializeObject <List <vwUserApp> >(Result.UserApp); Return.UserPrincipalName = Result.UserPrincipalName; Model.APFamily.RegisLoginHistory empProfile = _UserRepository.GetEmpProfile(Result.EmployeeID); if (empProfile == null) { Model.APFamily.RegisLoginHistory emp = new Model.APFamily.RegisLoginHistory(); emp.EmpCode = Result.EmployeeID; emp.EmpDeviceID = data.DeviceID; emp.EmpName = Result.FirstName; emp.EmpLastName = Result.LastName; emp.PositionName = Result.Division; emp.Email = Result.Email; emp.EmpLoginToken = generateToken(data.DeviceID); bool InsertEmpData = _UserRepository.InsertEmpProfile(emp); return(new { success = true, data = emp, Token = emp.EmpLoginToken, Message = "LogIn Success!" }); } else { if (data.DeviceID == empProfile.EmpDeviceID) { DateTime ExtainToken = Convert.ToDateTime(empProfile).AddDays(15); empProfile.EmpTokenExpire = ExtainToken; bool updateProfile = _UserRepository.UpdateEmpProfile(empProfile); return(new { success = true, data = empProfile, Token = empProfile.EmpLoginToken, Message = "LogIn Success!" }); } else { return(new { success = false, data = empProfile = new Model.APFamily.RegisLoginHistory(), Token = "", Message = "You Have Change you Device! Please Contact IT Admin for further Use!" }); } } } //ไม่ถ่ายรูป return(new { success = false, data = new AutorizeDataJWT(), Message = "Authentication Fail" }); } catch (Exception ex) { return(StatusCode(500, "Internal server error :: " + ex.Message)); } }