private ActionResult AddToFavFromList(string id) { if (Session["ID"] != null) { int AdID = Convert.ToInt32(id); int uID = Convert.ToInt32(Session["ID"]); FAV fAV = new FAV(); int check = db.FAV.Count(x => x.USER == uID && x.ADV == AdID); if (check == 0) { fAV.USER = uID; fAV.ADV = AdID; db.FAV.Add(fAV); db.SaveChanges(); return(RedirectToAction("Details", "Adverts", new { id = id })); } else { db.FAV.Remove(db.FAV.Single(x => x.ADV == AdID && x.USER == uID)); db.SaveChanges(); return(RedirectToAction("Details", "Adverts", new { id = id })); } } else { return(RedirectToAction("Logowanie", "home")); } }
public ActionResult Conversation(int?AdvertId, int?UserA, int?UserB) { if (TempData["SizeError"] != null) { ViewBag.Error = "Maksymalny rozmiar zdjęć to 2MB"; TempData.Remove("SizeError"); } if (TempData["FormatError"] != null) { ViewBag.Error = "Użyto nieobsługiwanego formatu zdjęć. Dozwolone formaty: .jpg .jpeg .png"; TempData.Remove("FormatError"); } if (AdvertId != null && UserA != null && UserB != null) { if (Session["ID"] != null) { int userID = Convert.ToInt32(Session["ID"]); if (userID != UserA || userID != UserB) { if (userID == UserA) { messageModel.LoggedUser = new UserRepository().GetUserData((int)UserA); messageModel.SecondConversationUser = new UserRepository().GetUserData((int)UserB); messageModel.LoggedUserAdverts = new AdvertRepository().GetUserAdverts((int)UserA).ToList(); } if (userID == UserB) { messageModel.LoggedUser = new UserRepository().GetUserData((int)UserB); messageModel.SecondConversationUser = new UserRepository().GetUserData((int)UserA); messageModel.LoggedUserAdverts = new AdvertRepository().GetUserAdverts((int)UserB).ToList(); } messageModel.CoversationMessages = new UserRepository().GetConversation((int)AdvertId, (int)UserA, (int)UserB).ToList(); messageModel.Images = new UserRepository().GetConversationImages((int)AdvertId, (int)UserA, (int)UserB).ToList(); messageModel.MessageAdvertDetails = db.ADVERTS.Where(x => x.ID == (int)AdvertId).ToList(); foreach (var item in messageModel.CoversationMessages) { var msgID = (item.ID); if (item.MSG_TO == userID) { var ID = msgID; MESSAGE MsgToChange = new UserRepository().GetMessage(ID); MsgToChange.IS_READ = true; db.Entry(MsgToChange).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } ; return(View(messageModel)); } return(RedirectToAction("messages", "User")); } return(RedirectToAction("Logowanie", "Home")); } else { return(RedirectToAction("Index", "Home")); } }
public ActionResult Odzyskaj(string MAIL, USERS USERS) { string resetCode = Guid.NewGuid().ToString(); using (BazaLocal db = new BazaLocal()) { var mail = db.USERS.SingleOrDefault(x => x.MAIL == USERS.MAIL); var currentdate = DateTime.Now; TimeSpan diff = currentdate.Subtract((DateTime)mail.LASTRESETPASSDATE); double hours = diff.TotalHours; if (mail != null) { if (hours < 24) { ModelState.AddModelError("MAIL", "Hasło można resetować raz na 24h!"); return(View()); } else { mail.RESETPASSWORDCODE = resetCode; db.Configuration.ValidateOnSaveEnabled = false; db.SaveChanges(); SendResetPasswordEmail(mail.MAIL, resetCode); ViewBag.SuccessMessage = "Na maila został przesłany link zmiany hasła."; return(View()); } } else { ModelState.AddModelError("MAIL", "Nie ma takiego mail!"); return(View()); } } }
public ActionResult NoweHaslo(ResetPasswordModel model) { var message = ""; if (ModelState.IsValid) { using (BazaLocal db = new BazaLocal()) { var user = db.USERS.SingleOrDefault(x => x.RESETPASSWORDCODE == model.ResetCode); //return db.USERS.AsNoTracking().SingleOrDefault(x => x.USER_ID == uID); var EncryptedNewPassword = registerRepository.Encryption(model.NewPassword); if (user != null) { if (EncryptedNewPassword == user.PASSWORD) { ModelState.AddModelError("NewPassword", "Nowe hasło musi być różne od obecnego"); return(View()); } else if (model.NewPassword != model.ConfirmPassword) { ModelState.AddModelError("NewPassword", "Hasła muszą być takie same"); ModelState.AddModelError("ConfirmPassword", "Hasła muszą być takie same"); return(View()); } else { //szyfrowanie nowego hasła user.PASSWORD = EncryptedNewPassword; //resetujemy kod resetowania hasła user.RESETPASSWORDCODE = ""; user.LASTRESETPASSDATE = DateTime.Now; //db.Configuration.ValidateOnSaveEnabled = false; db.SaveChanges(); ViewBag.SuccessMessage = "Udało się zmienić hasło."; return(RedirectToAction("Logowanie", "home")); } } } ModelState.Clear(); return(View(model)); } else { message = "Nie można zmienić hasła. Upewnij się czy wprowadzone hasła są identyczne oraz czy prośba o zmiane hasła nie została już wcześniej zakończona"; } ViewBag.Message = message; return(View(model)); }
public ActionResult Details(int id, string message, IEnumerable <HttpPostedFileBase> files) { ViewBag.Message = null; displayRepository.AdvertDetails = advertRepository.GetDetails(id); displayRepository.Images = advertRepository.GetAdImages((int)id); if (Session["ID"] != null) { int uID = Convert.ToInt32(Session["ID"]); displayRepository.LoggedUser = advertRepository.GetUserData(uID); } if (files != null) { foreach (var file in files) { if (file != null) { if (file.ContentLength > 2097152) // 2MB? { ViewBag.Message = "Maksymalny rozmiar zdjęć to 2MB"; return(View("Details", displayRepository)); } } } } MESSAGE NewMessage = new MESSAGE() { MSG_FROM = Convert.ToInt32(Session["ID"]), MSG_TO = displayRepository.AdvertDetails.USER_ID, TEXT = message, DATE = System.DateTime.Now, ADVERT_ID = displayRepository.AdvertDetails.ID, IS_READ = false }; db.MESSAGE.Add(NewMessage); db.SaveChanges(); foreach (var file in files) { if (file != null) { var filename = Guid.NewGuid() + file.FileName; var supportedTypes = new[] { "jpg", "jpeg", "png", "JPG", "JPEG", "PNG" }; var fileExt = System.IO.Path.GetExtension(filename).Substring(1); if (supportedTypes.Contains(fileExt)) { file.SaveAs(Server.MapPath("/UploadImage/" + filename)); IMAGES_MESSAGE img = new IMAGES_MESSAGE { IMAGE_TITLE = filename, IMAGE_PATH = "/UploadImage/" + filename, MESSAGE_ID = NewMessage.ID, MSG_FROM = NewMessage.MSG_FROM, MSG_TO = NewMessage.MSG_TO, ADVERT_ID = NewMessage.ADVERT_ID }; db.IMAGES_MESSAGE.Add(img); db.SaveChanges(); } else { ViewBag.Message = "Użyto nieobsługiwanego formatu zdjęć. Dozwolone formaty: .jpg .jpeg .png"; return(View("Details", displayRepository)); } } } ViewBag.Message = "Wiadomość wysłana"; return(View("Details", displayRepository)); }