/// <summary> /// /// </summary> /// <returns></returns> static public GlobalVars.ResultGeneric UpdateUser(GlobalVars.User user) { GlobalVars.ResultGeneric result = new GlobalVars.ResultGeneric() { ReturnCode = 0, Message = "", RecordsCount = 0, HttpStatusCode = "" }; try { logger.Trace("Entering into UpdateUser Method ..."); using (ScanningDBContext DB = new ScanningDBContext()) { // User Name must be unique in the Database. The Name could be change but it must be unique Users Matching_Result = DB.Users.FirstOrDefault(x => x.UserName == user.UserName); if (Matching_Result != null) { // Means --> this is a new name Matching_Result = DB.Users.FirstOrDefault(x => x.UserId == user.UserID); if (Matching_Result != null) { Matching_Result.UserName = user.UserName; Matching_Result.Email = user.Email; Matching_Result.ActiveFlag = Convert.ToString(user.ActiveFlag); Matching_Result.Title = user.Title; DB.SaveChanges(); // Update User UI Functionlaities // 1- Delete existing all existimg UI Functinalities for this user DB.UserUifunctionality.RemoveRange(DB.UserUifunctionality.Where(x => x.UserId == user.UserID)); DB.SaveChanges(); // 2- Add User Functionalities UserUifunctionality New_Record = new UserUifunctionality(); foreach (GlobalVars.UIFunctionality functionlaity in user.UIFunctionality) { New_Record.FunctionalityId = functionlaity.FunctionalityID; New_Record.UserId = user.UserID; DB.UserUifunctionality.Add(New_Record); DB.SaveChanges(); } result.Message = "UpdateUser transaction completed successfully. One Record Updated."; } else { // Means --> cannot update a Customer that does not exist result.ReturnCode = -1; result.Message = "User " + user.UserName + " does not exist. UpdateUser transaction ignore."; } } else { // Means --> the name already exist result.ReturnCode = -1; result.Message = "User " + user.UserName + " already exist. UpdateUser transaction ignore."; } } logger.Debug(result.Message); } catch (Exception e) { logger.Error("Error:" + e.Message + "\n" + "Exception: " + e.InnerException); result.ReturnCode = -2; result.Message = e.Message; var baseException = e.GetBaseException(); result.Exception = baseException.ToString(); } logger.Trace("Leaving UpdateUser Method ..."); return(result); }
/// <summary> /// /// </summary> /// <returns></returns> static public GlobalVars.ResultGeneric NewUser(GlobalVars.User user) { GlobalVars.ResultGeneric result = new GlobalVars.ResultGeneric() { ReturnCode = 0, Message = "", RecordsCount = 0, HttpStatusCode = "" }; try { logger.Trace("Entering into NewUser Method ..."); // Check if User Exist result = ExistUserName(user.UserName); if (result.RecordsCount == 0) { // Create new User ... using (ScanningDBContext DB = new ScanningDBContext()) { Users New_Record = new Users(); New_Record.UserName = user.UserName; New_Record.Title = user.Title; New_Record.ActiveFlag = Convert.ToString(user.ActiveFlag); New_Record.Email = user.Email; DB.Users.Add(New_Record); DB.SaveChanges(); } // Get the user ID created above, so it can be useed in UserUI Functionality Table below GlobalVars.ResultUsers users = new GlobalVars.ResultUsers(); users = GetUserByName(user.UserName); // Add User Functionalities ... using (ScanningDBContext DB = new ScanningDBContext()) { UserUifunctionality New_Record = new UserUifunctionality(); foreach (GlobalVars.UIFunctionality functionlaity in user.UIFunctionality) { New_Record.FunctionalityId = functionlaity.FunctionalityID; New_Record.UserId = user.UserID; DB.UserUifunctionality.Add(New_Record); DB.SaveChanges(); } } result.Message = "NewUser transaction completed successfully. One Record added."; } else { result.ReturnCode = -1; result.Message = "User " + user.UserName + " already exist. NewUser transaction ignore."; } logger.Debug(result.Message); } catch (Exception e) { logger.Error("Error:" + e.Message + "\n" + "Exception: " + e.InnerException); result.ReturnCode = -2; result.Message = e.Message; var baseException = e.GetBaseException(); result.Exception = baseException.ToString(); } logger.Trace("Leaving NewUser Method ..."); return(result); }