public Response <UserProfile> GetUserProfileByUserId(string userId) { User_Profiles dbUserProfile = null; if (EnumAppConfig.IsLocal) { dbUserProfile = _localUnitOfWork.DataContext.User_Profiles.FirstOrDefault(u => u.UserId == userId); } else { dbUserProfile = _centralizedUnitOfWork.DataContext.User_Profiles.FirstOrDefault(u => u.UserId == userId); } if (dbUserProfile != null) { var userProfile = new BE.UserProfile { DOB = dbUserProfile.DOB, Employment_Company_Name = dbUserProfile.Employment_Company_Name, Employment_Contact_Number = dbUserProfile.Employment_Contact_Number, Employment_End_Date = dbUserProfile.Employment_End_Date, Employment_Job_Title = dbUserProfile.Employment_Job_Title, Employment_Name = dbUserProfile.Employment_Name, Employment_Remarks = dbUserProfile.Employment_Remarks, Employment_Start_Date = dbUserProfile.Employment_Start_Date, Maritial_Status = dbUserProfile.Maritial_Status, Nationality = dbUserProfile.Nationality, NextOfKin_BlkHouse_Number = dbUserProfile.NextOfKin_BlkHouse_Number, NextOfKin_Contact_Number = dbUserProfile.NextOfKin_Contact_Number, NextOfKin_Country = dbUserProfile.NextOfKin_Country, NextOfKin_FlrUnit_Number = dbUserProfile.NextOfKin_FlrUnit_Number, NextOfKin_Name = dbUserProfile.NextOfKin_Name, NextOfKin_PostalCode = dbUserProfile.NextOfKin_PostalCode, NextOfKin_Relationship = dbUserProfile.NextOfKin_Relationship, NextOfKin_Street_Name = dbUserProfile.NextOfKin_Street_Name, Other_Address_ID = dbUserProfile.Other_Address_ID, Primary_Email = dbUserProfile.Primary_Email, Primary_Phone = dbUserProfile.Primary_Phone, Residential_Addess_ID = dbUserProfile.Residential_Addess_ID, Secondary_Email = dbUserProfile.Secondary_Email, Secondary_Phone = dbUserProfile.Secondary_Phone, UserId = dbUserProfile.UserId, User_Photo1 = dbUserProfile.User_Photo1, User_Photo2 = dbUserProfile.User_Photo2, DateOfIssue = dbUserProfile.Date_of_Issue, Gender = dbUserProfile.Gender, Race = dbUserProfile.Race, SerialNumber = dbUserProfile.Serial_Number, LeftThumbImage = dbUserProfile.LeftThumb_Photo, RightThumbImage = dbUserProfile.RightThumb_Photo, Expired_Date = dbUserProfile.Expired_Date, }; return(new Response <UserProfile>((int)EnumResponseStatuses.Success, EnumResponseMessage.Success, userProfile)); } return(new Response <UserProfile>((int)EnumResponseStatuses.ErrorSystem, EnumResponseMessage.ErrorSystem, null)); }
public bool UpdateProfile(BE.UserProfile model) { if (EnumAppConfig.IsLocal) { bool statusCentralized; CallCentralized.Post <bool>("User_Profiles", "UpdateProfile", out statusCentralized, model); if (!statusCentralized) { throw new Trinity.Common.ExceptionArgs(EnumMessage.NotConnectCentralized); } else { User_Profiles dbUserProfile; var localUserProfileRepo = _localUnitOfWork.GetRepository <User_Profiles>(); dbUserProfile = localUserProfileRepo.GetById(model.UserId); if (dbUserProfile == null) { dbUserProfile = new User_Profiles(); SetInfo(dbUserProfile, model); localUserProfileRepo.Add(dbUserProfile); } else { SetInfo(dbUserProfile, model); localUserProfileRepo.Update(dbUserProfile); } return(_localUnitOfWork.Save() > 0); } } else { var centralUserProfileRepo = _centralizedUnitOfWork.GetRepository <User_Profiles>(); User_Profiles dbUserProfile = centralUserProfileRepo.GetById(model.UserId); if (dbUserProfile == null) { dbUserProfile = new User_Profiles(); SetInfo(dbUserProfile, model); centralUserProfileRepo.Add(dbUserProfile); } else { SetInfo(dbUserProfile, model); centralUserProfileRepo.Update(dbUserProfile); } return(_centralizedUnitOfWork.Save() > 0); } }
protected void SetInfo(User_Profiles dbUserProfile, BE.UserProfile model) { dbUserProfile.UserId = model.UserId; dbUserProfile.DOB = model.DOB; dbUserProfile.Employment_Company_Name = model.Employment_Company_Name; dbUserProfile.Employment_Contact_Number = model.Employment_Contact_Number; dbUserProfile.Employment_End_Date = model.Employment_End_Date; dbUserProfile.Employment_Job_Title = model.Employment_Job_Title; dbUserProfile.Employment_Name = model.Employment_Name; dbUserProfile.Employment_Remarks = model.Employment_Remarks; dbUserProfile.Employment_Start_Date = model.Employment_Start_Date; dbUserProfile.Maritial_Status = model.Maritial_Status; dbUserProfile.Nationality = model.Nationality; dbUserProfile.NextOfKin_BlkHouse_Number = model.NextOfKin_BlkHouse_Number; dbUserProfile.NextOfKin_Contact_Number = model.NextOfKin_Contact_Number; dbUserProfile.NextOfKin_Country = model.NextOfKin_Country; dbUserProfile.NextOfKin_FlrUnit_Number = model.NextOfKin_FlrUnit_Number; dbUserProfile.NextOfKin_Name = model.NextOfKin_Name; dbUserProfile.NextOfKin_PostalCode = model.NextOfKin_PostalCode; dbUserProfile.NextOfKin_Relationship = model.NextOfKin_Relationship; dbUserProfile.NextOfKin_Street_Name = model.NextOfKin_Street_Name; dbUserProfile.Primary_Email = model.Primary_Email; dbUserProfile.Primary_Phone = model.Primary_Phone; dbUserProfile.Other_Address_ID = model.Other_Address_ID != "" ? model.Other_Address_ID : null; dbUserProfile.Residential_Addess_ID = model.Residential_Addess_ID != "" ? model.Residential_Addess_ID : null; dbUserProfile.Secondary_Email = model.Secondary_Email; dbUserProfile.Secondary_Phone = model.Secondary_Phone; dbUserProfile.User_Photo1 = model.User_Photo1; dbUserProfile.User_Photo2 = model.User_Photo2; dbUserProfile.Date_of_Issue = model.DateOfIssue; dbUserProfile.Gender = model.Gender; dbUserProfile.Race = model.Race; dbUserProfile.Serial_Number = model.SerialNumber; var dalUser = new Trinity.DAL.DAL_User(); var result = dalUser.GetUserByUserId(model.UserId); var user = result.Data; var userInfo = new Trinity.Common.UserInfo { NRIC = user.NRIC, UserName = user.Name //, //Date = model.DOB.ToString() }; }
public Response <bool> UpdateUserProfile(BE.UserProfile model) { try { User_Profiles dbUserProfile = null; if (EnumAppConfig.IsLocal) { dbUserProfile = UpdateLocal(model, model.UserId); dbUserProfile = UpdateCentral(model, model.UserId); return(new Response <bool>((int)EnumResponseStatuses.Success, EnumResponseMessage.Success, true)); } else { dbUserProfile = UpdateCentral(model, model.UserId); return(new Response <bool>((int)EnumResponseStatuses.Success, EnumResponseMessage.Success, true)); } } catch (Exception ex) { return(new Response <bool>((int)EnumResponseStatuses.ErrorSystem, EnumResponseMessage.ErrorSystem, false)); } }
public bool ARKUpdateProfile(string UserID, Dictionary <string, Dictionary <string, object> > dataUpdate, List <string> arrayScanDocument, out BE.UserProfile User_Profiles_New, out BE.Address Alternate_Addresses_New, out Guid?IDDocuemnt_Re) { IDDocuemnt_Re = null; User_Profiles_New = null; Alternate_Addresses_New = null; bool isUpdateUser_Profiles = false; bool isSaveDataBase = false; CreateUserProfileIfNotExit(UserID); Nullable <Guid> IDDocuemnt = null; if (arrayScanDocument.Count > 0) { IDDocuemnt = new DAL_UploadedDocuments().Insert(arrayScanDocument, UserID); } DAL.DBContext.User_Profiles userProfile = _localUnitOfWork.DataContext.User_Profiles.FirstOrDefault(d => d.UserId.Equals(UserID)); DAL.DBContext.Address Alternate_Addresses = null; if (!string.IsNullOrEmpty(userProfile.Other_Address_ID)) { Alternate_Addresses = _localUnitOfWork.DataContext.Addresses.FirstOrDefault(d => d.Address_ID.Equals(userProfile.Other_Address_ID)); } if (dataUpdate.ContainsKey("Alternate_Addresses")) { if (Alternate_Addresses == null) { Alternate_Addresses = new DBContext.Address() { Address_ID = Guid.NewGuid().ToString().Trim() }; foreach (var item in dataUpdate["Alternate_Addresses"]) { PropertyInfo propertyInfo = Alternate_Addresses.GetType().GetProperty(item.Key); propertyInfo.SetValue(Alternate_Addresses, item.Value == null ? null : Convert.ChangeType(item.Value, propertyInfo.PropertyType), null); } userProfile.Other_Address_ID = Alternate_Addresses.Address_ID; _localUnitOfWork.GetRepository <DAL.DBContext.Address>().Add(Alternate_Addresses); isUpdateUser_Profiles = true; isSaveDataBase = true; } else { bool isUpdateAddress = false; foreach (var item in dataUpdate["Alternate_Addresses"]) { PropertyInfo propertyInfo = Alternate_Addresses.GetType().GetProperty(item.Key); propertyInfo.SetValue(Alternate_Addresses, item.Value == null ? null : Convert.ChangeType(item.Value, propertyInfo.PropertyType), null); isSaveDataBase = true; isUpdateAddress = true; } if (isUpdateAddress) { _localUnitOfWork.GetRepository <DAL.DBContext.Address>().Update(Alternate_Addresses); } } } if (dataUpdate.ContainsKey("User_Profiles")) { foreach (var item in dataUpdate["User_Profiles"]) { PropertyInfo propertyInfo = userProfile.GetType().GetProperty(item.Key); var underlyingType = Nullable.GetUnderlyingType(propertyInfo.PropertyType); propertyInfo.SetValue(userProfile, item.Value == null ? null : Convert.ChangeType(item.Value, underlyingType ?? propertyInfo.PropertyType), null); isUpdateUser_Profiles = true; isSaveDataBase = true; } } if (IDDocuemnt.HasValue) { userProfile.Document_ID = IDDocuemnt.Value; isUpdateUser_Profiles = true; isSaveDataBase = true; IDDocuemnt_Re = IDDocuemnt.Value; } if ((!userProfile.Employment_Start_Date.HasValue && userProfile.Employment_End_Date.HasValue) || (userProfile.Employment_Start_Date.HasValue && userProfile.Employment_End_Date.HasValue && userProfile.Employment_Start_Date.Value >= userProfile.Employment_End_Date.Value)) { Lib.LayerWeb.ShowMessage("<b>Employment Start Date</b> must be less than <b>Employment End Date</b>"); return(false); } else { if (isUpdateUser_Profiles) { _localUnitOfWork.GetRepository <DAL.DBContext.User_Profiles>().Update(userProfile); } if (isSaveDataBase) { _localUnitOfWork.Save(); } User_Profiles_New = userProfile.Map <BE.UserProfile>(); Alternate_Addresses_New = Alternate_Addresses.Map <BE.Address>();; } return(true); }
public UserProfile GetProfile(string userId) { User_Profiles dbUserProfile = null; if (EnumAppConfig.IsLocal) { dbUserProfile = _localUnitOfWork.DataContext.User_Profiles.FirstOrDefault(u => u.UserId == userId); if (dbUserProfile == null && !EnumAppConfig.ByPassCentralizedDB) { UserProfile data = CallCentralized.Get <UserProfile>(EnumAPIParam.User, "GetProfileByUserId", "userId=" + userId); return(data); } } else { dbUserProfile = _centralizedUnitOfWork.DataContext.User_Profiles.FirstOrDefault(u => u.UserId == userId); } if (dbUserProfile != null) { var userProfile = new BE.UserProfile { DOB = dbUserProfile.DOB, Employment_Company_Name = dbUserProfile.Employment_Company_Name, Employment_Contact_Number = dbUserProfile.Employment_Contact_Number, Employment_End_Date = dbUserProfile.Employment_End_Date, Employment_Job_Title = dbUserProfile.Employment_Job_Title, Employment_Name = dbUserProfile.Employment_Name, Employment_Remarks = dbUserProfile.Employment_Remarks, Employment_Start_Date = dbUserProfile.Employment_Start_Date, Maritial_Status = dbUserProfile.Maritial_Status, Nationality = dbUserProfile.Nationality, NextOfKin_BlkHouse_Number = dbUserProfile.NextOfKin_BlkHouse_Number, NextOfKin_Contact_Number = dbUserProfile.NextOfKin_Contact_Number, NextOfKin_Country = dbUserProfile.NextOfKin_Country, NextOfKin_FlrUnit_Number = dbUserProfile.NextOfKin_FlrUnit_Number, NextOfKin_Name = dbUserProfile.NextOfKin_Name, NextOfKin_PostalCode = dbUserProfile.NextOfKin_PostalCode, NextOfKin_Relationship = dbUserProfile.NextOfKin_Relationship, NextOfKin_Street_Name = dbUserProfile.NextOfKin_Street_Name, Other_Address_ID = dbUserProfile.Other_Address_ID, Primary_Email = dbUserProfile.Primary_Email, Primary_Phone = dbUserProfile.Primary_Phone, Residential_Addess_ID = dbUserProfile.Residential_Addess_ID, Secondary_Email = dbUserProfile.Secondary_Email, Secondary_Phone = dbUserProfile.Secondary_Phone, UserId = dbUserProfile.UserId, User_Photo1 = dbUserProfile.User_Photo1, User_Photo2 = dbUserProfile.User_Photo2, DateOfIssue = dbUserProfile.Date_of_Issue, Gender = dbUserProfile.Gender, Race = dbUserProfile.Race, SerialNumber = dbUserProfile.Serial_Number, LeftThumbImage = dbUserProfile.LeftThumb_Photo, RightThumbImage = dbUserProfile.RightThumb_Photo, Expired_Date = dbUserProfile.Expired_Date, }; return(userProfile); } return(null); }
public void CreateRequest(BE.UserProfile User_Profiles_Old, BE.Address Alternate_Addresses_Old, BE.UserProfile User_Profiles_New, BE.Address Alternate_Addresses_New, Guid?DocumentID, bool isScanDocument, bool isDoLogin ) { var dataApprove = _localUnitOfWork.DataContext.UpdateProfile_Requests.Where(d => d.UserId == User_Profiles_Old.UserId && d.Status == Enum_UpdateProfile.Approve).OrderByDescending(d => d.UpdatedTime).FirstOrDefault(); var dataPending = _localUnitOfWork.DataContext.UpdateProfile_Requests.FirstOrDefault(d => d.UserId == User_Profiles_Old.UserId && d.Status == Enum_UpdateProfile.Pending); if (dataApprove == null) { Dictionary <string, object> dataRequest = new Dictionary <string, object>(); dataRequest.Add("User_Profiles", User_Profiles_Old); dataRequest.Add("Alternate_Addresses", Alternate_Addresses_Old); dataRequest.Add("UploadedDocuments", new List <Guid>()); dataApprove = new DBContext.UpdateProfile_Requests() { Status = Enum_UpdateProfile.Approve, UpdatedTime = DateTime.Now, UserId = User_Profiles_Old.UserId, VersionId = Guid.NewGuid().ToString().Trim(), Current_Content_JSON = JsonConvert.SerializeObject(dataRequest) }; _localUnitOfWork.GetRepository <DBContext.UpdateProfile_Requests>().Add(dataApprove); } if (dataPending == null) { Dictionary <string, object> dataRequest = new Dictionary <string, object>(); dataRequest.Add("User_Profiles", User_Profiles_New); dataRequest.Add("Alternate_Addresses", Alternate_Addresses_New); if (DocumentID.HasValue) { dataRequest.Add("UploadedDocuments", new List <Guid>() { DocumentID.Value }); } else { dataRequest.Add("UploadedDocuments", new List <Guid>()); } dataPending = new DBContext.UpdateProfile_Requests() { Status = isDoLogin || !isScanDocument ? Enum_UpdateProfile.Approve : Enum_UpdateProfile.Pending, UpdatedTime = DateTime.Now, UserId = User_Profiles_Old.UserId, VersionId = Guid.NewGuid().ToString().Trim(), Current_Content_JSON = JsonConvert.SerializeObject(dataRequest) }; _localUnitOfWork.GetRepository <DBContext.UpdateProfile_Requests>().Add(dataPending); } else { Dictionary <string, object> dataRowRequest = JsonConvert.DeserializeObject <Dictionary <string, object> >(dataPending.Current_Content_JSON); List <Guid> arrayDocument = JsonConvert.DeserializeObject <List <Guid> >(JsonConvert.SerializeObject(dataRowRequest["UploadedDocuments"])); if (DocumentID.HasValue) { arrayDocument.Add(DocumentID.Value); } Dictionary <string, object> dataRequest = new Dictionary <string, object>(); dataRequest.Add("User_Profiles", User_Profiles_New); dataRequest.Add("Alternate_Addresses", Alternate_Addresses_New); dataRequest.Add("UploadedDocuments", arrayDocument); dataPending.Current_Content_JSON = JsonConvert.SerializeObject(dataRequest); dataPending.UpdatedTime = DateTime.Now; if (isDoLogin) { dataPending.Status = Enum_UpdateProfile.Approve; } _localUnitOfWork.GetRepository <DBContext.UpdateProfile_Requests>().Update(dataPending); } _localUnitOfWork.Save(); }