コード例 #1
0
        public async Task <IActionResult> Create([Bind("Id,Title,Description,ImageLocation")] Annoucement annoucement, IFormFile pic)
        {
            if (ModelState.IsValid)
            {
                annoucement.DateAndTimeOfPost = DateTime.Now;
                annoucement.User     = GetCurrentUser();
                annoucement.UserName = annoucement.User.UserName;
                annoucement.counter  = 0;

                if (pic != null)
                {
                    var fileName = Path.Combine(_hostingEnvironment.WebRootPath, Path.GetFileName(pic.FileName));

                    if (!System.IO.File.Exists(fileName))
                    {
                        pic.CopyTo(new FileStream(fileName, FileMode.Create));
                    }


                    annoucement.ImageLocation = fileName;
                    annoucement.ImageName     = "/" + Path.GetFileName(fileName);
                }

                _context.Add(annoucement);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(annoucement));
        }
コード例 #2
0
 public async Task Create(Annoucement entity)
 {
     entity.CreateDate     = DateTime.Now;
     entity.ExpirationDate = DateTime.Now.AddDays(30);
     entity.IsActive       = true;
     await _context.Annoucements.AddAsync(entity);
 }
コード例 #3
0
        public async Task <IActionResult> Details([Bind("AnnoucementID, Description")]
                                                  AnnoucementDetailsViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Comment comment = new Comment();

                comment.Description = viewModel.Description;
                comment.User        = GetCurrentUser();
                comment.UserName    = comment.User.UserName;

                Annoucement annoucement = await _context.Annoucements.SingleOrDefaultAsync(m => m.Id == viewModel.AnnoucementID);

                if (annoucement == null)
                {
                    return(NotFound());
                }

                comment.MyAnnoucement = annoucement;
                _context.Comments.Add(comment);
                await _context.SaveChangesAsync();

                viewModel = await GetAnnoucementDetailsViewModelFromAnnoucement(annoucement);
            }

            return(View(viewModel));
        }
コード例 #4
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Title,Description")] Annoucement annoucement)
        {
            if (id != annoucement.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    annoucement.DateAndTimeOfPost = DateTime.Now;
                    _context.Update(annoucement);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AnnoucementExists(annoucement.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(annoucement));
        }
コード例 #5
0
        public async Task <IActionResult> Edit(Guid id, [Bind("Text,UID,Id")] Annoucement annoucement)
        {
            if (id != annoucement.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(annoucement);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AnnoucementExists(annoucement.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UID"] = new SelectList(_context.AppUser, "Id", "Id", annoucement.UID);
            return(View(annoucement));
        }
コード例 #6
0
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            AddCounter(id);

            Annoucement annoucement = await _context.Annoucements
                                      .SingleOrDefaultAsync(m => m.Id == id);

            if (annoucement == null)
            {
                return(NotFound());
            }

            AnnoucementDetailsViewModel viewModel = new AnnoucementDetailsViewModel();



            viewModel.Annoucement = annoucement;

            List <Comment> comments = await _context.Comments
                                      .Where(x => x.MyAnnoucement == annoucement).ToListAsync();

            viewModel.Comments = comments;


            return(View(viewModel));
        }
コード例 #7
0
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Annoucement annoucement = db.Annoucements.Find(id);

            if (annoucement == null)
            {
                return(HttpNotFound());
            }
            AnnouncementViewModel viewmodel = new AnnouncementViewModel();

            viewmodel.Id              = annoucement.Id;
            viewmodel.Title           = annoucement.Title;
            viewmodel.Details         = annoucement.Details;
            viewmodel.StartDate       = annoucement.StartDate;
            viewmodel.EndDate         = annoucement.EndDate;
            viewmodel.CreatedDateTime = annoucement.CreatedDateTime;
            viewmodel.IsPopup         = annoucement.IsPopup;
            viewmodel.Image           = annoucement.Image;
            viewmodel.IsPublished     = annoucement.IsPublished;
            viewmodel.Priority        = annoucement.Priority;
            return(View(viewmodel));
        }
コード例 #8
0
 private static void PlaySound(Annoucement announce, AudioSource source)
 {
     if (source.clip.name == announce.Type.ToString())
     {
         source.Play();
     }
     else
     {
         try
         {
             var sound = Resources.Load("Announcer/Sounds/" + announce.Type.ToString());
             if (sound == null)
             {
                 throw new Exception("The sound couldn't be found sry m8 but you need to add it !!");
             }
             var castedSound = sound as AudioClip;
             if (castedSound == null)
             {
                 Debug.LogError("idk but i cannot cast this (" + announce.Type.ToString() + ") to an audio clip :( : it is a " + sound.GetType());
                 throw new Exception("Cannot cast :(");
             }
             source.clip = castedSound;
             source.Play();
         }
         catch (Exception e)
         {
             Debug.LogError("Something bad has occured while loading the sound: " + e.Message);
         }
     }
 }
コード例 #9
0
        public ActionResult DeleteConfirmed(int?id)
        {
            try
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                Annoucement annoucement = _db.GetAnnoucement(id.Value);
                if (annoucement == null)
                {
                    return(HttpNotFound());
                }

                if (_db.RemoveAnnoucement(annoucement))
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    throw new Exception("Error while removing Annoucement: " + annoucement);
                }
            }
            catch (Exception)
            {
                return(RedirectToAction("Delete", new { id = id, error = true }));
            }
        }
コード例 #10
0
        public async Task <ActionResult> RenderImage(int id)
        {
            Annoucement item = await db.Annoucements.FindAsync(id);

            byte[] photoBack = item.Image;

            return(File(photoBack, "image/png"));
        }
コード例 #11
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            Annoucement annoucement = db.Annoucements.Find(id);

            db.Annoucements.Remove(annoucement);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #12
0
ファイル: NewWordItem.cs プロジェクト: xophiix/XNewwordPad
        public string ToText()
        {
            string result = Name.ToString() + "\r\n";

            result += Annoucement.ToString() + "\r\n";
            result += Meaning.ToString() + "\r\n";
            result += AddTime.ToString() + "\r\n";
            result += ToProficiencyString(Proficiency) + "\r\n";
            return(result);
        }
コード例 #13
0
 public ActionResult Edit([Bind(Include = "AnnoucementId,Text")] Annoucement annoucement)
 {
     if (ModelState.IsValid)
     {
         db.Entry(annoucement).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(annoucement));
 }
コード例 #14
0
        public ActionResult Create(AnnouncementViewModel viewmodel)
        {
            HttpPostedFileBase file = viewmodel.ImageStore;
            dynamic            showMessageString = string.Empty;

            if (ModelState.IsValid && file != null)
            {
                if (file != null && file.FileName != null && file.FileName != "")
                {
                    var      fileExtension = new string[] { "jpeg", "jpg", "png", "gif", "bmp", ".jpeg", ".jpg", ".png", ".gif", ".bmp" };
                    FileInfo fi            = new FileInfo(file.FileName);
                    if (fileExtension.Contains(fi.Extension.ToLower()))
                    {
                        var announcementEntity = new Annoucement();
                        announcementEntity.Title           = viewmodel.Title;
                        announcementEntity.Details         = viewmodel.Details;
                        announcementEntity.StartDate       = viewmodel.StartDate;
                        announcementEntity.EndDate         = viewmodel.EndDate;
                        announcementEntity.IsPopup         = viewmodel.IsPopup;
                        announcementEntity.Priority        = viewmodel.Priority;
                        announcementEntity.Image           = FileHelper.ConvertToBytes(file);
                        announcementEntity.CreatedDateTime = DateTime.Now;
                        announcementEntity.Id = Guid.NewGuid();

                        try
                        {
                            db.Annoucements.Add(announcementEntity);
                            db.SaveChanges();
                            showMessageString = new
                            {
                                param1 = 200,
                                param2 = "Insert data successfully !!!"
                            };
                        }
                        catch (Exception)
                        {
                            showMessageString = new
                            {
                                param1 = 404,
                                param2 = "Exception occured while insert database"
                            };
                        }
                    }
                }
            }
            else
            {
                showMessageString = new
                {
                    param1 = 404,
                    param2 = "Input data is not valid!"
                };
            }
            return(Json(showMessageString, JsonRequestBehavior.AllowGet));
        }
コード例 #15
0
 private void AddPhotosToAnnoucement(Annoucement annoucement, List <string> listOfImgUrls)
 {
     annoucement.Photos = new List <Photo>();
     foreach (var photoPath in listOfImgUrls)
     {
         annoucement.Photos.Add(new Photo()
         {
             PhotoUrl = photoPath
         });
     }
 }
コード例 #16
0
        public ActionResult Create([Bind(Include = "AnnoucementId,Text")] Annoucement annoucement)
        {
            if (ModelState.IsValid)
            {
                db.Annoucements.Add(annoucement);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(annoucement));
        }
コード例 #17
0
        public async Task <IActionResult> Create([Bind("Text,UID,Id")] Annoucement annoucement)
        {
            if (ModelState.IsValid)
            {
                annoucement.Id = Guid.NewGuid();
                _context.Add(annoucement);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["UID"] = new SelectList(_context.AppUser, "Id", "Id", annoucement.UID);
            return(View(annoucement));
        }
コード例 #18
0
 public bool Create(Annoucement annoucement)
 {
     try
     {
         db.Annoucements.Add(annoucement);
         db.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(true);
     }
 }
コード例 #19
0
        // GET: Annoucements/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Annoucement annoucement = db.Annoucements.Find(id);

            if (annoucement == null)
            {
                return(HttpNotFound());
            }
            return(View(annoucement));
        }
コード例 #20
0
        public bool Edit(Annoucement annoucement)
        {
            db.Entry(annoucement).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
                return(true);
            }
            catch (Exception)
            {
                return(true);
            }
        }
コード例 #21
0
 public void ShowEnemySlain()
 {
     if (killCount == 0 || DateTime.Now > lastKill + TimeSpan.FromSeconds(10))
     {
         killCount = 1;
         annoucements.Add(Annoucement.FromEnemySlain());
     }
     else
     {
         killCount++;
         annoucements.Add(new MultiKillAnnouncement(killCount));
     }
     lastKill = DateTime.Now;
 }
コード例 #22
0
        public bool Delete(int id)
        {
            Annoucement annoucement = db.Annoucements.Find(id);

            if (annoucement == null)
            {
                return(false);
            }

            db.Annoucements.Remove(annoucement);
            db.SaveChanges();

            return(true);
        }
コード例 #23
0
        public async Task Update(Annoucement annoucementFromUser)
        {
            Annoucement annoucementFromDb = _context.Annoucements.AsNoTracking().Include(p => p.Photos).SingleOrDefault(x => x.AnnoucementId == annoucementFromUser.AnnoucementId);

            if (annoucementFromDb == null)
            {
                throw new NullReferenceException("No annoucement with id:" + annoucementFromUser.AnnoucementId);
            }
            annoucementFromUser.CreateDate     = annoucementFromDb.CreateDate;
            annoucementFromUser.ExpirationDate = annoucementFromDb.ExpirationDate;
            annoucementFromUser.Photos         = annoucementFromDb.Photos;
            _context.Update(annoucementFromUser);
            //context.Entry(annoucementFromDb).CurrentValues.SetValues(annoucementFromUser);
        }
コード例 #24
0
        public bool UpdateAnnoucement(Annoucement annoucement)
        {
            _context.Entry(annoucement).Property(x => x.description).IsModified = true;
            _context.Entry(annoucement).Property(x => x.sectionId).IsModified   = true;
            _context.Entry(annoucement).Property(x => x.expireDate).IsModified  = true;
            var result = _context.SaveChanges();

            if (result > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #25
0
        // GET: Annoucement/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Annoucement annoucement = _db.GetAnnoucement(id.Value);

            if (annoucement == null)
            {
                return(HttpNotFound());
            }

            return(View(annoucement));
        }
コード例 #26
0
        public static void GetNoticesData(Packet packet)
        {
            CmdNoticeData cmd = new CmdNoticeData(packet);

            Annoucement[] annoucements = new Annoucement[cmd.AnnoucementIndexes.Length];
            for (int i = 0; i < cmd.AnnoucementIndexes.Length; i++)
            {
                annoucements[i] = ServerMain.Instance.Annoucement[cmd.AnnoucementIndexes[i]];
            }
            var ack = new NoticeDataAck()
            {
                Annoucements = annoucements
            };

            packet.SendBack(ack.CreatePacket());
            return;
        }
コード例 #27
0
        // GET: Annoucement/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Annoucement annoucement = _db.GetAnnoucement(id.Value);

            if (annoucement == null)
            {
                return(HttpNotFound());
            }

            ViewBag.UsersIds = new SelectList(_db.GetUsers(), "Id", "FullName");
            return(View(annoucement));
        }
コード例 #28
0
        public ActionResult Create(
            [Bind(Include = "Id,Content,Title,AddedDate,UserId")]
            Annoucement newAnnoucement)
        {
            if (ModelState.IsValid)
            {
                if (_db.AddAnnoucement(newAnnoucement))
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    throw new Exception("Error while saving Annoucement: " + newAnnoucement);
                }
            }

            ViewBag.UsersIds = new SelectList(_db.GetUsers(), "Id", "FullName");
            return(View(newAnnoucement));
        }
コード例 #29
0
        public async Task <AnnoucementForViewDto> CreateNewAnnoucement(AnnoucementForCreateDto annoucementDto, int userId)
        {
            Annoucement annoucement = _mapper.Map <Annoucement>(annoucementDto);

            annoucement.UserId = userId;

            await _repo.Create(annoucement);

            await _repo.Save();

            if (annoucementDto.Photo != null)
            {
                string        annoucementFolderForImageUpload = GetFolderNameForAnnoucementPhotos(annoucement.AnnoucementId);
                List <string> generatedImageNames             = UploadImages(annoucementDto.Photo, annoucementFolderForImageUpload);
                AddPhotosToAnnoucement(annoucement, generatedImageNames);
                await _repo.Save();
            }

            return(_mapper.Map <AnnoucementForViewDto>(annoucement));
        }
コード例 #30
0
        // GET: Annoucement/Delete/5
        public ActionResult Delete(int?id, bool?error)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Annoucement annoucement = _db.GetAnnoucement(id.Value);

            if (annoucement == null)
            {
                return(HttpNotFound());
            }

            if (error.HasValue && error.Value == true)
            {
                ViewBag.Error = true;
            }

            return(View(annoucement));
        }