public ActionResult RegisterRequest(RegisterRequestViewModel model) { if (ModelState.IsValid) { FM_Datastore_Entities_EF db_manager = new FM_Datastore_Entities_EF(); // TODO:deny multiple requests from the same ip address // TODO: make temporary encrypted url that holds => timeCreated,email,role,address,division char separator = (char)31; // ASCII char 31 is the separator character string urlParamStr = DateTime.UtcNow.Ticks.ToString() + separator + model.Email + separator + model.address.ToString() + separator + model.division.ToString(); string urlParamStrB64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(urlParamStr)); // posts notification db_manager.Notifications.Add(new Notification() { notifyType = AppSettings.Notify.newUser, notifyText = model.Email, Email = model.Email, Address = db_manager.Addresses.FirstOrDefault(m => m.Id == model.address), Division = db_manager.Divisions.FirstOrDefault(m => m.Id == model.division), timeStamp = DateTime.UtcNow }); db_manager.SaveChanges(); Mail.send(model.Email, "Request Recieved", "Dear user your request has been recieved and an administrator will be looking at your request soon, so please be patient."); return(Redirect(Url.Action("RegisterRequestCompletion"))); } return(RegisterRequest()); }
public ActionResult RegisterRequest() { FM_Datastore_Entities_EF db_manager = new FM_Datastore_Entities_EF(); // get division list List <SelectListItem> divisionList = new List <SelectListItem>(); new SelectList(db_manager.Addresses, "Id", "addressLine1"); foreach (var item in db_manager.Divisions.ToList()) { divisionList.Add(new SelectListItem() { Text = item.name, Value = item.Id.ToString() // will be used to get id later }); } // get address list List <SelectListItem> addressList = new List <SelectListItem>(); foreach (var item in db_manager.Addresses.ToList()) { addressList.Add(new SelectListItem() { Text = item.city + ", " + item.state, Value = item.Id.ToString() // will be used to get id later }); } db_manager.Dispose(); // no need to save changes return(View(new RegisterRequestViewModel() { addresses = addressList, divisions = divisionList })); }
public ActionResult Completed() { if (HttpContext.Request.UrlReferrer != null) // comes from another site { return(new HttpNotFoundResult()); } List <Transaction> boughtItems; SessionSaver.Load.transactions(Session, out boughtItems); using (FM_Datastore_Entities_EF db_manager = new FM_Datastore_Entities_EF()) { string email = User.Identity.Name; Models.User usr = db_manager.Users.FirstOrDefault(m => m.Email == email); for (int i = 0; i < boughtItems.Count; i++) { boughtItems[i].purchaserId = usr.Id; boughtItems[i].purchaseDate = DateTime.Now; db_manager.Transactions.Add(boughtItems[i]); } db_manager.SaveChanges(); } Session[AppSettings.SessionVariables.TRANSACTION] = null; // reset the cart return(View(new VM.CompletedViewModel() { boughtItems = boughtItems })); }
public ActionResult Index() { List <Transaction> transactions; using (FM_Datastore_Entities_EF db_manager = new FM_Datastore_Entities_EF()) { transactions = db_manager.Transactions.Include(AppSettings.Includes.Product).ToList(); } return(View(new VM.IndexViewModel() { transactions = transactions })); }
public static long getCartIdTransactionRequests() { long randCartId; // create cart ID using (FM_Datastore_Entities_EF db_manager = new FM_Datastore_Entities_EF()) { Random random = new Random(DateTime.Now.Millisecond); TransactionRequest cartId; do { randCartId = getRandomPosLong(random); cartId = db_manager.TransactionRequests.FirstOrDefault(m => m.cartId == randCartId); }while (cartId != null); // if false cart id is valid return(randCartId); } }
public ActionResult Register() { //Only allow people to view register page if they have a valid link NameValueCollection query = Request.QueryString; string[] qresult = query.GetValues("rqst"); if (qresult == null || qresult.Length < 1) { return(new HttpNotFoundResult()); } UrlEncryption EncryptionResult = UrlEncryption.Decrypt(qresult[0]); if (EncryptionResult == null || EncryptionResult.timeStamp > DateTime.UtcNow.AddHours(3)) // if null or url was created more than 3 hours ago dont accept { return(new HttpNotFoundResult()); } FM_Datastore_Entities_EF db_manager = new FM_Datastore_Entities_EF(); Role RoleResult = db_manager.Roles.FirstOrDefault(m => m.Id == EncryptionResult.role); Address AddressResult = db_manager.Addresses.FirstOrDefault(m => m.Id == EncryptionResult.address); Division DivisionResult = db_manager.Divisions.FirstOrDefault(m => m.Id == EncryptionResult.division); db_manager.Dispose(); // store ids in session Session.Add("RoleResult", RoleResult.Id); Session.Add("AddressResult", AddressResult.Id); Session.Add("DivisionResult", DivisionResult.Id); return(View(new RegisterViewModel() { Email = EncryptionResult.email, Role = RoleResult.Name, Address = AddressResult.country + ": " + AddressResult.addressLine1 + AddressResult.addressLine2 + ", " + AddressResult.city + ", " + AddressResult.state + ", " + AddressResult.postalCode, Division = DivisionResult.name })); }