public ActionResult Create(ReUzze.Models.AddressViewModel viewModel) { try { if (!ModelState.IsValid) throw new Exception(); var regions = this.UnitOfWork.RegionRepository.Get().Count(); if (regions == 0) { var model = new ReUzze.Models.AddressViewModel { StatusMessage = "There are no regions in the database ...", Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } if (viewModel.SelectRegionId == 0) { var model = new ReUzze.Models.AddressViewModel { StatusMessage = "You need to select a region!", Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } viewModel.Address.Latitude = Convert.ToDecimal(viewModel.Address.Latitude); viewModel.Address.Longitude = Convert.ToDecimal(viewModel.Address.Longitude); viewModel.Address.RegionId = viewModel.SelectRegionId; this.UnitOfWork.AddressRepository.Insert(viewModel.Address); this.UnitOfWork.Save(); return RedirectToAction("Index", "Address"); } catch { var model = new ReUzze.Models.AddressViewModel { Address = viewModel.Address, Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } }
public ActionResult Create(ReUzze.Models.EntityViewModel viewModel) { try { if (!ModelState.IsValid) return View(viewModel); if (viewModel.SelectedCategoryId == null) { ViewBag.DropDownList = ReUzze.Helpers.EnumHelper.SelectListFor<Condition>(); var model = new ReUzze.Models.EntityViewModel() { StatusMessage = "You need to select a category!", Categories = new SelectList(this.UnitOfWork.CategoryRepository.Get(), "Id", "Name") }; PutTypeDropDownInto(model); return View(model); } User usr = this.UnitOfWork.UserRepository.Get().Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); var entity = new Entity(); entity.Title = viewModel.Title; entity.Description = viewModel.Description; entity.StartTime = viewModel.StartTime; entity.EndTime = viewModel.EndTime; entity.InstantSellingPrice = viewModel.InstantSellingPrice; if (viewModel.Condition.GetValueOrDefault().ToString() == "Used") { entity.Condition = Condition.Used; } else { entity.Condition = Condition.New; } entity.UserId = usr.Id; entity.RegionId = usr.Person.Address.RegionId; entity.CategoryId = Convert.ToInt16(viewModel.SelectedCategoryId); this.UnitOfWork.EntityRepository.Insert(entity); this.UnitOfWork.Save(); // SAVE THE IMGES if (viewModel.Files.FirstOrDefault() != null) { foreach (var file in viewModel.Files) { if (file.ContentLength > 0) { repository.AddMedia(entity.Id, Path.GetFileName(file.FileName), file.ContentType); var fileName = Path.GetFileName(file.FileName); var path = Path.Combine(Server.MapPath("~/Resources/uploads"), fileName); file.SaveAs(path); } } } return RedirectToAction("Index", "Entity"); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } return RedirectToAction("Create", "Entity"); }
private void PutTypeDropDownInto(ReUzze.Models.EntityViewModel model) { model.GroupedTypeOptions = this.UnitOfWork.CategoryRepository.Get() .Where(t => t.ParentCategory != null) .OrderBy(t => t.ParentCategory.Name).ThenBy(t => t.Name) .Select(t => new GroupedSelectListItem { GroupKey = t.ParentId.ToString(), GroupName = t.ParentCategory.Name, Text = t.Name, Value = t.Id.ToString() } ); }
public ActionResult Edit(ReUzze.Models.EntityViewModel viewModel) { try { if (!ModelState.IsValid) return View(viewModel); return RedirectToAction("Index", "Entity"); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } return RedirectToAction("Create", "Entity"); }
public ActionResult Detail(ReUzze.Models.bid bid) { try { if (bid.entity.user.username != User.Identity.Name) { var bidd = new Bid(); bidd.EntityId = bid.entity_id; var user = this.UnitOfWork.UserRepository.Get().Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); bidd.UserId = user.Id; bidd.Amount = bid.bid_amount; bidd.Date = DateTime.Now; this.UnitOfWork.BidRepository.Insert(bidd); this.UnitOfWork.Save(); } else { } return RedirectToAction("Detail", "Entity"); } catch(Exception e) { } return RedirectToAction("Detail", "Entity"); }
public ActionResult Edit(ReUzze.Models.AddressViewModel viewModel) { try { if (!ModelState.IsValid) return View(viewModel); var originalAddress = this.UnitOfWork.AddressRepository.GetByID(viewModel.Address.Id); if (originalAddress == null) throw new Exception(); originalAddress.City = viewModel.Address.City; originalAddress.Street = viewModel.Address.Street; originalAddress.StreetNumber = viewModel.Address.StreetNumber; originalAddress.RegionId = viewModel.SelectRegionId; this.UnitOfWork.AddressRepository.Update(originalAddress); this.UnitOfWork.Save(); return RedirectToAction("Index", "Address"); } catch { var model = new ReUzze.Models.AddressViewModel { Address = viewModel.Address, Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } }
public ActionResult Message(ReUzze.Models.MessageViewModel viewModel) { try { if (!ModelState.IsValid) { var model = new ReUzze.Models.MessageViewModel(); return View(model); } User usr = this.UnitOfWork.UserRepository.Get().Where(u => u.UserName == User.Identity.Name).FirstOrDefault(); MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress(usr.Email); mail.To.Add(viewModel.Email); mail.Subject = viewModel.Subject; mail.Body = viewModel.Body; SmtpServer.Send(mail); if (viewModel.Copy == true) { mail.From = new MailAddress(usr.Email); mail.To.Add(usr.Email); mail.Subject = "Copy: " + viewModel.Subject; mail.Body = "Copy: " + viewModel.Body; SmtpServer.Send(mail); } return RedirectToAction("Message", "User"); } catch { } return RedirectToAction("Message", "User"); }
public ActionResult Create(ReUzze.Models.UserViewModel viewModel) { try { // Check if there are roles in the database var roles = this.UnitOfWork.RoleRepository.Get().Count(); if (roles == 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "There are no roles in the database ...", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // Check if there are regions in database var regions = this.UnitOfWork.RegionRepository.Get().Count(); if (regions == 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "There are no regions in the database ...", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // Check if user has selected region if (viewModel.SelectRegionId == 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "You need to select a region!", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // Check if user has selected role if (viewModel.SelectRoleId == 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "You need to select a role!", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // Check if username already exists var usrname = this.UnitOfWork.UserRepository.Get().Where(u => u.UserName == viewModel.UserName).Count(); if (usrname != 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "Please choose another username. This one already exists.", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // Check if user email already exists var email = this.UnitOfWork.UserRepository.Get().Where(u => u.Email == viewModel.Email).Count(); if (email != 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "This email address is already registered.", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } if (!ModelState.IsValid) { var model = new ReUzze.Models.UserViewModel { Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // ADDRESS var address = new Address(); address.City = viewModel.City; address.Street = viewModel.Street; address.StreetNumber = viewModel.StreetNumber; address.Latitude = viewModel.Latitude; address.Longitude = viewModel.Longitude; address.RegionId = viewModel.SelectRegionId; this.UnitOfWork.AddressRepository.Insert(address); // PERSON var person = new Person(); person.FirstName = viewModel.FirstName; person.SurName = viewModel.SurName; person.Address = address; this.UnitOfWork.PersonRepository.Insert(person); // USER var user = new User(); user.UserName = viewModel.UserName; user.Email = viewModel.Email; user.PasswordSalt = BCrypt.Net.BCrypt.GenerateSalt(12); user.Password = BCrypt.Net.BCrypt.HashPassword(viewModel.Password, user.PasswordSalt); user.Rating = 10; user.RoleId = viewModel.SelectRoleId; user.Person = person; this.UnitOfWork.UserRepository.Insert(user); // ROLE NEEDS TO BE ADDED TO USER this.UnitOfWork.Save(); return RedirectToAction("Index", "User"); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } return RedirectToAction("Create", "User"); }
public ActionResult Edit(ReUzze.Models.UserViewModel viewModel) { try { // Check if there are roles in the database var roles = this.UnitOfWork.RoleRepository.Get().Count(); if (roles == 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "There are no roles in the database ...", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // Check if there are regions in database var regions = this.UnitOfWork.RegionRepository.Get().Count(); if (regions == 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "There are no regions in the database ...", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // Check if user has selected region if (viewModel.SelectRegionId == 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "You need to select a region!", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } // Check if user has selected role if (viewModel.SelectRoleId == 0) { var model = new ReUzze.Models.UserViewModel { StatusMessage = "You need to select a role!", Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name") }; return View(model); } if (!ModelState.IsValid) throw new Exception(); var originalUser = this.UnitOfWork.UserRepository.GetByID(viewModel.Id); if (originalUser == null) throw new Exception(); originalUser.Person.FirstName = viewModel.FirstName; originalUser.Person.SurName = viewModel.SurName; originalUser.Person.Address.Street = viewModel.Street; originalUser.Person.Address.City = viewModel.City; originalUser.Person.Address.StreetNumber = viewModel.StreetNumber; originalUser.Person.Address.RegionId = viewModel.SelectRegionId; originalUser.UserName = viewModel.UserName; originalUser.Email = viewModel.Email; originalUser.Rating = viewModel.Rating; originalUser.RoleId = viewModel.SelectRoleId; originalUser.PasswordSalt = BCrypt.Net.BCrypt.GenerateSalt(12); originalUser.Password = BCrypt.Net.BCrypt.HashPassword(viewModel.Password, originalUser.PasswordSalt); originalUser.ModifiedDate = DateTime.Now; this.UnitOfWork.UserRepository.Update(originalUser); this.UnitOfWork.Save(); return RedirectToAction("Index", "User"); } catch { var originalUser = this.UnitOfWork.UserRepository.GetByID(viewModel.Id); var model = new ReUzze.Models.UserViewModel { FirstName = originalUser.Person.FirstName, SurName = originalUser.Person.SurName, Street = originalUser.Person.Address.Street, City = originalUser.Person.Address.City, StreetNumber = originalUser.Person.Address.StreetNumber, UserName = originalUser.UserName, Email = originalUser.Email, Rating = originalUser.Rating, Regions = new SelectList(this.UnitOfWork.RegionRepository.Get(), "Id", "Name"), SelectRegionId = originalUser.Person.Address.RegionId, Roles = new SelectList(this.UnitOfWork.RoleRepository.Get(), "Id", "Name"), SelectRoleId = originalUser.RoleId }; return View(model); } }