Exemplo n.º 1
0
        public ActionResult EditUser(EditUserModel value)
        {
            EventLogHandler   Logger = new EventLogHandler();
            List <CreateUser> CurrentUser;

            using (IDbConnection db = new SqlConnection(SqlAccess.GetConnectionString()))
            {
                CurrentUser = db.Query <CreateUser>($"Select * from dbo.Usertable Where ID = @ID", new { ID = value.ID }).ToList();
            }


            string CurrentPassword = CurrentUser[0].Password.ToString();
            int    id = CurrentUser[0].ID;

            var Original = new List <string>();
            var Updated  = new List <string>();

            string OriginalModel = "";
            string UpdatedModel  = "";

            if (CurrentUser[0].DateModified != value.Date_Modified)
            {
                Original.Add("Date Modified: " + CurrentUser[0].DateModified);
                Updated.Add("Date Modified: " + value.Date_Modified);
            }

            if (CurrentUser[0].FirstName != value.FirstName)
            {
                Original.Add("First Name: " + CurrentUser[0].FirstName);
                Updated.Add("First Name: " + value.FirstName);
            }

            if (CurrentUser[0].LastName != value.LastName)
            {
                Original.Add("Last Name: " + CurrentUser[0].LastName);
                Updated.Add("Last Name: " + value.LastName);
            }

            if (CurrentUser[0].Email != value.Email)
            {
                Original.Add("Email: " + CurrentUser[0].Email);
                Updated.Add("Email: " + value.Email);
            }

            if (CurrentUser[0].Role != value.Role)
            {
                Original.Add("Role: " + CurrentUser[0].Role);
                Updated.Add("Role: " + value.Role);
            }

            if (CurrentUser[0].Phone != value.Phone)
            {
                Original.Add("Phone: " + CurrentUser[0].Phone);
                Updated.Add("Phone: " + value.Phone);
            }

            if (CurrentUser[0].Active != value.Active)
            {
                Original.Add("Active: " + CurrentUser[0].Active);
                Updated.Add("Active: " + value.Active);
            }

            if (CurrentUser[0].Address != value.Address)
            {
                Original.Add("Address: " + CurrentUser[0].Address);
                Updated.Add("Address: " + value.Address);
            }

            if (CurrentUser[0].City != value.City)
            {
                Original.Add("City: " + CurrentUser[0].City);
                Updated.Add("City: " + value.City);
            }

            if (CurrentUser[0].State != value.State)
            {
                Original.Add("State: " + CurrentUser[0].State);
                Updated.Add("State: " + value.State);
            }

            if (CurrentUser[0].ZIP_Code != value.ZIP_Code)
            {
                Original.Add("ZIP Code: " + CurrentUser[0].ZIP_Code);
                Updated.Add("ZIP Code: " + value.ZIP_Code);
            }

            OriginalModel = String.Join("|^|", Original);
            UpdatedModel  = String.Join("|^|", Updated);

            if (OriginalModel != "")
            {
                //A change has been done
                Logger.LogEditUser(CurrentUser[0].ID, CurrentUser[0].Username, OriginalModel, UpdatedModel);
            }

            Original.Clear();
            Updated.Clear();

            CurrentUser[0].DateModified = value.Date_Modified;
            CurrentUser[0].FirstName    = value.FirstName;
            CurrentUser[0].LastName     = value.LastName;
            CurrentUser[0].Email        = value.Email;
            CurrentUser[0].Role         = value.Role;
            CurrentUser[0].Phone        = value.Phone;
            CurrentUser[0].Active       = value.Active;
            CurrentUser[0].Address      = value.Address;
            CurrentUser[0].City         = value.City;
            CurrentUser[0].State        = value.State;
            CurrentUser[0].ZIP_Code     = value.ZIP_Code;


            using (IDbConnection db = new SqlConnection(SqlAccess.GetConnectionString()))
            {
                string sql = "Update dbo.UserTable set FirstName = @FirstName, LastName = @LastName, " +
                             "Username = @Username, Password = @Password, Role = @Role, Phone = @Phone, " +
                             "Email = @Email, DateModified = @Date_Modified, Active = @Active, Address = @Address, " +
                             "City = @City, State = @State, ZIP_Code = @ZIP_Code Where ID = @ID;";

                db.Execute(sql, new
                {
                    FirstName     = CurrentUser[0].FirstName,
                    LastName      = CurrentUser[0].LastName,
                    Username      = CurrentUser[0].Username,
                    Password      = CurrentUser[0].Password,
                    Role          = CurrentUser[0].Role,
                    Phone         = CurrentUser[0].Phone,
                    Email         = CurrentUser[0].Email,
                    Date_Modified = CurrentUser[0].DateModified,
                    Active        = CurrentUser[0].Active,
                    Address       = CurrentUser[0].Address,
                    City          = CurrentUser[0].City,
                    State         = CurrentUser[0].State,
                    ZIP_Code      = CurrentUser[0].ZIP_Code,
                    ID            = CurrentUser[0].ID
                });
            }
            TempData["Message"] = "Your entry was successfully updated!";

            return(RedirectToAction("AllUsers"));
        }