public ActionResult AddToAdmin() { if (!Init(User)) { return(RedirectToAction("Index", "Home")); } if ((_isAdministrator && !_permission.Contains(PermissionEnum.CHAT)) && !_isStudent) { return(RedirectToAction("Menu", "Home")); } ChatFormViewModel model = new ChatFormViewModel(); model.Users = GetUsers(); model.UserName = GetEmail(); return(View(model)); }
public ActionResult AddToAdmin(ChatFormViewModel model) { if (!Init(User)) { return(RedirectToAction("Index", "Home")); } if ((_isAdministrator && !_permission.Contains(PermissionEnum.CHAT)) && !_isStudent) { return(RedirectToAction("Menu", "Home")); } if (string.IsNullOrEmpty(model.Title)) { ModelState.AddModelError("", "Należy podać tytuł wiadomości"); } if (string.IsNullOrEmpty(model.Content)) { ModelState.AddModelError("", "Należy podać treść wiadomości"); } if (_userRepository.GetById(model.User) == null) { ModelState.AddModelError("", "Nalezy wybrać adresata wiadomości"); } if (ModelState.IsValid) { Chat chatDb = new Chat() { Title = model.Title, Content = model.Content, ReceiverUserId = model.User, }; if (_isAdministrator) { chatDb.SenderUserId = _administrator.Id; } else if (_isStudent) { chatDb.SenderStudentId = _student.Id; } _chatRepository.Add(chatDb); if (model.File != null) { string guid = Guid.NewGuid().ToString("N"); ChatFile chatFileDb = new ChatFile() { RealFileName = model.File.FileName, SavedFileName = guid + Path.GetExtension(model.File.FileName), ChatId = chatDb.Id }; chatDb.File = chatFileDb; string path = Request.PhysicalApplicationPath + "Uploads\\" + guid + Path.GetExtension(model.File.FileName); model.File.SaveAs(path); } chatDb.ParentChatId = chatDb.Id; _chatRepository.AddParentId(chatDb); return(RedirectToAction("Details", new { id = chatDb.Id })); } model.Users = GetUsers(); model.HasError = true; return(View(model)); }