public bool UpdateEmpProfile(Model.APFamily.RegisLoginHistory data) { using (IDbConnection conn = MobileConnection) { try { conn.Open(); var tran = conn.BeginTransaction(IsolationLevel.ReadUncommitted); var result = conn.Update(data, tran); tran.Commit(); return(true); } catch (Exception ex) { throw new Exception("MasterRepository.InsertEmpProfile() :: Error ", ex); } } }
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)); } }