コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }