Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }