/// <summary> /// Gets all initialize data for user. /// </summary> /// <param name="userId">The user identifier.</param> /// <returns></returns> public static MobileInitialData GetAllInitializeDataForUser(int userId) { using (StageBitzDB dataContext = new StageBitzDB()) { MobileInitialData mobileInitialData = new MobileInitialData(); //Get the Companies that the user can access CompanyBL companyBL = new CompanyBL(dataContext); List <CompanyListInfo> companyList = companyBL.GetCompanyList(userId, false, false, true); var extractedcompanyList = (from cl in companyList select new CompanyListOfUser { Id = cl.CompanyId, Name = cl.CompanyName, IsCompanyUser = cl.IsInventoryStaff ? 1 : 0 }).ToList <CompanyListOfUser>(); mobileInitialData.CompanyList = extractedcompanyList; //Get all the system Item Types InventoryBL inventoryBL = new InventoryBL(dataContext); List <ItemTypeData> itemTypeList = inventoryBL.GetAllSystemItemTypes(); mobileInitialData.ItemTypeList = itemTypeList; return(mobileInitialData); } }
public MobileInitialData GetInitializeData(InitialRequestDetails userAuthenticationDetailsObj) { string status = string.Empty; string message = string.Empty; MobileInitialData mobileInitialData = null; try { bool isValidVersion = Helper.IsValidAppVersion(userAuthenticationDetailsObj.Version, out status); if (isValidVersion) { int userId = int.Parse(Utils.DecryptStringAES(userAuthenticationDetailsObj.Token)); mobileInitialData = Helper.GetAllInitializeDataForUser(userId); if (mobileInitialData == null) { mobileInitialData = new MobileInitialData(); } } } catch (Exception ex) { AgentErrorLog.HandleException(ex); status = "ERROR"; message = "Unknown error."; } if (mobileInitialData == null) { mobileInitialData = new MobileInitialData(); } mobileInitialData.Status = status; mobileInitialData.Message = message; return(mobileInitialData); }
public MobileInitialData AuthenticateUser(InitialRequestDetails userAuthenticationDetailsObj) { string status = string.Empty; string message = string.Empty; MobileInitialData mobileInitialData = null; try { using (StageBitzDB dataContext = new StageBitzDB()) { bool isValidVersion = Helper.IsValidAppVersion(userAuthenticationDetailsObj.Version, out status); if (isValidVersion) { string passwordHash = Utils.HashPassword(userAuthenticationDetailsObj.Pwd); PersonalBL personalBL = new PersonalBL(dataContext); StageBitz.Data.User user = personalBL.AuthenticateUser(userAuthenticationDetailsObj.Email, passwordHash); if (user == null) { int pendingEmailTypeCodeId = Utils.GetCodeByValue("EmailChangeRequestStatus", "PENDING").CodeId; EmailChangeRequest emailChangeRequest = dataContext.EmailChangeRequests.Where(ec => ec.Email == userAuthenticationDetailsObj.Email && ec.StatusCode == pendingEmailTypeCodeId).FirstOrDefault(); if (emailChangeRequest != null) { //Check the password by getting the current active userID. int userId = emailChangeRequest.UserId; //If the PassWord is matched, we know that the user is valid where as he did not follow the link. if (dataContext.Users.Where(u => u.UserId == userId && u.Password == passwordHash).FirstOrDefault() != null) { // He has changed his Primary Email Address. However he has not activate it yet status = "NOTOK"; message = "Email updated please confirm."; goto FinalStatement; } } //Invalid LogIn status = "NOTOK"; message = "Invalid Email address or Password."; } else { if (user.IsActive == true) { //Build the token //Return Initializtion data status = "OK"; byte[] content = Utils.EncryptStringAES(user.UserId.ToString()); mobileInitialData = Helper.GetAllInitializeDataForUser(user.UserId); mobileInitialData.UserToken = Utils.EncryptStringAES(user.UserId.ToString()); } else { //User is not activated yet status = "NOTOK"; message = "Please activate your account."; } } } else { message = "Please update App."; } } } catch (Exception ex) { AgentErrorLog.HandleException(ex); status = "ERROR"; message = "Oops! Unkown error. Sorry..."; } FinalStatement: if (mobileInitialData == null) { mobileInitialData = new MobileInitialData(); } mobileInitialData.Status = status; mobileInitialData.Message = message; return(mobileInitialData); }