public async Task <IActionResult> SendAnnouncement([FromBody] AnnouncementDTO model)
        {
            try
            {
                var userIds = (await _eventOperationRepo.Participants(model.EventId)).Select(u => u.UserId).ToList();
                if (userIds.IsNullOrEmpty())
                {
                    return(NotFound("Kayıt bulunamadı."));
                }

                foreach (var id in userIds)
                {
                    var playerIds = (await _userDeviceRepo.Where(d => d.UserId == id && d.IsLoggedin))
                                    .Select(t => t.DeviceId)
                                    .ToList();

                    _oneSignal.SendNotification(playerIds, model.Message);
                }

                return(Ok("Duyuru gönderilmiştir."));
            }
            catch (Exception ex)
            {
                _logHelper.Log("DashboardController", 500, "SendAnnouncement", ex.Message);
                return(null);
            }
        }
        public async Task <ActionResult <Announcement> > Post(AnnouncementDTO announcementDTO)
        {
            try
            {
                //раскоментировать для проверки капчи, при наличии годного клиента
                // var captchaResponse = await _recaptcha.Validate(Request.Form);
                //if (!captchaResponse.Success)
                //{
                //    ModelState.AddModelError("reCaptchaError", "reCAPTCHA error occured. Please try again.");
                //    return RedirectToAction(nameof(Index));
                //}
                if (announcementDTO == null)
                {
                    return(BadRequest());
                }

                Announcement announcement = _mapper.Map <AnnouncementDTO, Announcement>(announcementDTO);
                announcement.OrderNumber  = db.Announcements.Max(e => e.OrderNumber) + 1;
                announcement.CreationDate = DateTime.Now;
                db.Announcements.Add(announcement);
                await db.SaveChangesAsync();

                var query            = db.Announcements.Where(an => an.Id == announcement.Id);
                var announcementDTO2 = await _mapper.ProjectTo <AnnouncementDTO>(query).FirstOrDefaultAsync();

                return(Ok(announcementDTO2));
            }
            catch (Exception e)
            {
                return(BadRequest(new { e.Message, e.StackTrace }));
            }
        }
        public ActionResult CreateAnnouncement(AnnouncementCreateDTO announcementDTO, int id)
        {
            try
            {
                ApplicationUser user = _userRepository.GetUserBy(User.Identity.Name);
                if (user is null || !user.Type.Equals(UserType.STAFF))
                {
                    return(Unauthorized());
                }

                Passenger receiver = null;
                if (announcementDTO.PassengerId != null)
                {
                    receiver = (Passenger)_userRepository.GetUserById((int)announcementDTO.PassengerId);
                }

                Announcement announcement = new Announcement
                {
                    Title    = announcementDTO.Title,
                    Content  = announcementDTO.Content,
                    Sender   = (Staff)user,
                    Receiver = receiver
                };
                _flightRepository.CreateAnnouncement(id, announcement);
                _flightRepository.SaveChanges();
                return(Created("", AnnouncementDTO.FromAnnouncement(announcement)));
            }
            catch (Exception e) { return(BadRequest(e.Message)); }
        }
Exemple #4
0
        public async Task <AnnouncementDTO> UpdateEntity(AnnouncementDTO announcementDTO)
        {
            Announcement updatedAnnouncement = _mapper.Map <Announcement>(announcementDTO);
            await _repository.UpdateAsync(announcementDTO.Id, updatedAnnouncement);

            await _hubContext.Clients.All.SendAsync(ChatHubEnum.announcementUpdated.ToString(), announcementDTO);

            return(announcementDTO);
        }
        static async Task <Uri> CreateProductAsync(AnnouncementDTO obj)
        {
            HttpResponseMessage response = await client.PostAsJsonAsync("api/Announcement", obj);

            response.EnsureSuccessStatusCode();

            // Return the URI of the created resource.
            return(response.Headers.Location);
        }
Exemple #6
0
        public ActionResult Index()
        {
            var AnnouncementData = new AnnouncementDTO()
            {
                AnnouncementList = db.Announcements.OrderByDescending(x => x.Date).Take(50).ToList()
            };

            return(View(AnnouncementData));
        }
Exemple #7
0
        public ActionResult Edit(int id)
        {
            var dataAnno = new AnnouncementDTO()
            {
                AnnouncementList = db.Announcements.ToList(),
                AnnouncementData = db.Announcements.FirstOrDefault(x => x.Id == id)
            };

            return(View("Index", dataAnno));
        }
        static async Task <AnnouncementDTO> GetProductAsync(string path)
        {
            AnnouncementDTO     product  = null;
            HttpResponseMessage response = await client.GetAsync(path);

            if (response.IsSuccessStatusCode)
            {
                product = await response.Content.ReadAsAsync <AnnouncementDTO>();
            }
            return(product);
        }
 // PUT: api/Announcement/5
 public HttpResponseMessage Put(long id, [FromBody] AnnouncementDTO value)
 {
     try
     {
         AnnouncementDTO found = Service.GetAnnouncement(id);
         found = value;
         Service.SaveAnnouncement(found);
         return(Request.CreateResponse(HttpStatusCode.OK));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
Exemple #10
0
        public async Task <IActionResult> CreateEntity([FromBody] AnnouncementDTO announcementDTO)
        {
            try
            {
                AnnouncementDTO createdAnnouncement = await _announcementService.CreateEntity(announcementDTO);

                return(Ok(createdAnnouncement));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(BadRequest(e.Message));
            }
        }
Exemple #11
0
        public async Task <IActionResult> GetEntityById(int announcementId)
        {
            try
            {
                AnnouncementDTO announcement = await _announcementService.GetEntityById(announcementId);

                return(Ok(announcement));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(BadRequest(e.Message));
            }
        }
Exemple #12
0
        public async Task <AnnouncementDTO> CreateEntity(AnnouncementDTO announcementDTO)
        {
            Announcement announcement = _mapper.Map <Announcement>(announcementDTO);

            announcement.Id = 0;
            var dateToday = DateTime.Now;

            announcement.CreationDate = dateToday.ToString("yyyy-MM-dd HH:mm:ss");
            var createdAnnouncement = await _repository.CreateAsync(announcement);

            var createdAnnouncementDto = _mapper.Map <AnnouncementDTO>(createdAnnouncement);
            await _hubContext.Clients.All.SendAsync(ChatHubEnum.announcementCreated.ToString(), createdAnnouncementDto);

            return(createdAnnouncementDto);
        }
        public HttpResponseMessage Post([FromBody] AnnouncementDTO value)
        {
            try
            {
                Service.SaveAnnouncement(value);
                var response = Request.CreateResponse <AnnouncementDTO>(HttpStatusCode.Created, value);

                string uri = Url.Link("DefaultApi", new { id = value.Id });
                response.Headers.Location = new Uri(uri);
                return(response);
            }
            catch (Exception ex)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Exemple #14
0
        public async Task <IActionResult> UpdateEntity([FromBody] AnnouncementDTO announcementDTO, int announcementId)
        {
            try
            {
                if (announcementDTO.Id != announcementId)
                {
                    throw new InvalidOperationException("Passed model id is not equal to request URL id.");
                }

                await _announcementService.UpdateEntity(announcementDTO);

                return(Ok(announcementDTO));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(BadRequest(e.Message));
            }
        }
        static async Task RunAsync()
        {
            // New code:
            client.BaseAddress = new Uri("http://localhost/App/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            try
            {
                // Create a new product
                AnnouncementDTO obj = new AnnouncementDTO
                {
                    Id          = 1,
                    Title       = "Evening service",
                    Type        = AnnouncementType.WEEKLY.ToString(),
                    EventTime   = new DateTime(2017, 5, 6),
                    UpdatedDate = new DateTime(2017, 5, 6),
                    UpdatedBy   = "user",
                    Sermon      = "John 1:1",
                    Hymns       = "How Great is our God",
                    Host        = new UserDTO {
                        FirstName = "Newton", LastName = "Acho", Phone = "1234567890",
                        Email     = "emailAddress", UpdatedBy = "user", UpdatedDate = new DateTime(2017, 5, 6), Id = 1
                    },
                };

                var url = await CreateProductAsync(obj);

                Console.WriteLine($"Created at {url}");

                // Get the product
                obj = await GetProductAsync(url.PathAndQuery);

                // Get the updated product
                obj = await GetProductAsync(url.PathAndQuery);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }
        public void UpdateEntityTest()
        {
            var announcementService = new Mock <IAnnouncementService>();

            announcementService.Setup(mock => mock.UpdateEntity(It.IsAny <AnnouncementDTO>()));

            var announcementController = new AnnouncementController(announcementService.Object);
            var tempAnnouncementDTO    = new AnnouncementDTO
            {
                Id           = 1,
                Title        = "",
                CreationDate = "",
                Message      = "",
            };

            announcementController.UpdateEntity(tempAnnouncementDTO, tempAnnouncementDTO.Id);

            announcementService.Verify(mock => mock.UpdateEntity(It.IsAny <AnnouncementDTO>()), Times.Once);
        }
 // DELETE: api/Announcement/5
 public HttpResponseMessage Delete(long id)
 {
     try
     {
         AnnouncementDTO toDelete = Service.GetAnnouncement(id);
         if (toDelete != null)
         {
             Service.DeleteAnnouncement(toDelete);
             return(Request.CreateResponse(HttpStatusCode.OK));
         }
         else
         {
             return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Could not find Record to delete"));
         }
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
        public async Task <ActionResult <Announcement> > Put(AnnouncementDTO announcementDTO)
        {
            if (announcementDTO == null)
            {
                return(BadRequest());
            }

            Announcement announcement = _mapper.Map <AnnouncementDTO, Announcement>(announcementDTO);

            if (!db.Announcements.Any(an => an.Id == announcement.Id))
            {
                return(NotFound());
            }

            db.Update(announcement);
            await db.SaveChangesAsync();

            var query            = db.Announcements.Where(an => an.Id == announcement.Id);
            var announcementDTO2 = await _mapper.ProjectTo <AnnouncementDTO>(query).FirstOrDefaultAsync();

            return(Ok(announcementDTO2));
        }
Exemple #19
0
        public ActionResult Index(AnnouncementDTO anno)
        {
            if (anno.AnnouncementData.Id == 0)
            {
                db.Announcements.Add(new Announcement
                {
                    Date          = DateTime.Now,
                    EntireContent = anno.AnnouncementData.EntireContent,
                    Title         = anno.AnnouncementData.Title
                });
                db.SaveChanges();
            }
            else
            {
                var dataAnno = db.Announcements.FirstOrDefault(a => a.Id == anno.AnnouncementData.Id);
                dataAnno.Title         = anno.AnnouncementData.Title;
                dataAnno.Date          = anno.AnnouncementData.Date;
                dataAnno.EntireContent = anno.AnnouncementData.EntireContent;
                db.SaveChanges();
            }

            return(RedirectToAction("Index"));
        }
Exemple #20
0
 public virtual void SaveAnnouncement(AnnouncementDTO announcement)
 {
     _repository.InsertAnnouncement(announcement);
 }
Exemple #21
0
 public virtual void UpdateAnnouncement(AnnouncementDTO announcement)
 {
     _repository.Update(announcement);
 }
Exemple #22
0
 public virtual void DeleteAnnouncement(AnnouncementDTO announcement)
 {
     _repository.DeleteById(announcement.Id);
 }