private EditAccountViewModel GenerateEditAccountViewModel(Account a) { EditAccountViewModel eavm = new EditAccountViewModel(); eavm.about_me = a.about_me; eavm.access_level_id = a.access_level_id; eavm.birth_day = a.birthdate.Day; eavm.birth_month = a.birthdate.Month; eavm.birth_year = a.birthdate.Year; eavm.first_name = a.first_name; eavm.gender_id = a.gender_id; eavm.id = a.id; eavm.last_name = a.last_name; eavm.salutation_id = a.salutation_id; List<SelectListItem> Salutations = new List<SelectListItem>(); Gender g = db.Genders.Find(eavm.gender_id); if (g != null) { foreach (Salutation s_2 in g.Salutations) { SelectListItem sli = new SelectListItem(); sli.Text = s_2.value.ToString(); sli.Value = s_2.id.ToString(); Salutations.Add(sli); } eavm.Salutations = new SelectList(Salutations, "Value", "Text"); } else { eavm.Salutations = new SelectList(Salutations, "Value", "Text"); } eavm.days = GenerateDayList(eavm.birth_month, eavm.birth_year); eavm.months = GenerateMonthList(); eavm.years = GenerateYearList(); eavm.access_levels = new SelectList(db.AccessLevels, "id", "value"); return eavm; }
private UserPageViewModel GenerateUserPageViewModel(Account a) { UserPageViewModel upvm = new UserPageViewModel(); upvm.about_me = a.about_me; upvm.birthday = a.birthdate; upvm.first_name = a.first_name; upvm.Gender = a.Gender.value; upvm.id = a.id; upvm.last_name = a.last_name; upvm.Salutation = a.Salutation.value; upvm.username = a.username; decimal donation_total = a.donation_total; int post_count = a.Posts.Count(); var valid_transactions = a.Transactions.Where(x => x.transaction_status_id == 2); decimal purchase_total = 0; foreach(Transaction t in valid_transactions) { foreach(TransactionItem ti in t.TransactionItems) { purchase_total += ti.item_price * ti.quantity; } } if(donation_total >= 100) { upvm.donation_badge_level = 3; } else if(donation_total >= 20) { upvm.donation_badge_level = 2; } else if(donation_total >= 5) { upvm.donation_badge_level = 1; } else { upvm.donation_badge_level = 0; } if(post_count >= 10) { upvm.post_badge_level = 3; } else if (post_count >= 5) { upvm.post_badge_level = 2; } else if(post_count >= 3) { upvm.post_badge_level = 1; } else { upvm.post_badge_level = 0; } if(purchase_total >= 100) { upvm.purchase_badge_level = 3; } else if(purchase_total >= 20) { upvm.purchase_badge_level = 2; } else if(purchase_total >= 5) { upvm.purchase_badge_level = 1; } else { upvm.purchase_badge_level = 0; } return upvm; }
private void AddAccount(RegisterViewModel rvm) { Account a = new Account(); a.first_name = rvm.first_name; a.last_name = rvm.last_name; a.username = rvm.username; a.password = Encoding.UTF8.GetBytes(BCrypt.Net.BCrypt.HashPassword(rvm.password, BCrypt.Net.BCrypt.GenerateSalt(10))); a.salutation_id = rvm.salutation_id; a.gender_id = rvm.gender_id; if (Session["User"] == null || Session["Elevation"] == null || !Session["Elevation"].Equals("Administrator") || a.access_level_id == 0) { a.access_level_id = 1; } else { a.access_level_id = rvm.access_level_id; } if (rvm.about_me == null) { a.about_me = ""; } else { a.about_me = rvm.about_me; } String datestring = rvm.birth_month + "/" + rvm.birth_day + "/" + rvm.birth_year; DateTime dt = DateTime.ParseExact(datestring, "M/d/yyyy", CultureInfo.InvariantCulture); a.birthdate = dt; a.date_joined = DateTime.Now; db.Accounts.Add(a); db.SaveChanges(); }