예제 #1
0
        public IActionResult SendMessage(String id)
        {
            using (var message = new MailMessage())
            {
                message.To.Add(new MailAddress("*****@*****.**", "To DSpace"));
                message.From    = new MailAddress("*****@*****.**", "From Planner");
                message.Subject = "Publication";

                PublicationDTO result = serviceFactory.PublicationService.GetPublicationById(id);
                message.Body = JsonConvert.SerializeObject(result);
                //message.Body = "New publication";
                //message.IsBodyHtml = true;
                message.IsBodyHtml = false;

                using (var client = new SmtpClient("smtp.gmail.com"))
                {
                    client.Port        = 587;
                    client.Credentials = new NetworkCredential("*****@*****.**", "rjdfktyrj24912696");
                    client.EnableSsl   = true;
                    client.Send(message);
                }
            }

            return(Ok(true));
        }
예제 #2
0
        public async Task <IActionResult> AddPublication([FromForm] PublicationDTO publicationDTO)
        {
            try
            {
                using (var ms = new MemoryStream())
                {
                    await publicationDTO.file.CopyToAsync(ms);

                    publicationDTO.Imagen = ms.ToArray();
                }
                //publicationDTO.FechaCreacion = DateTime.Now;
                //publicationDTO.FechaPublicacion = DateTime.Now;
                var publication = _mapper.Map <Publicacione>(publicationDTO);
                var resp        = await _publicationServices.AddPublication(publication);

                if (resp == null)
                {
                    return(StatusCode(StatusCodes.Status404NotFound, resp));
                }
                //return StatusCode(StatusCodes.Status201Created, user);
                //return CreatedAtAction(nameof(GetUserByID), new { id = user.IdUsuario }, userDTO);
                await _hubContext.Clients.All.SendAsync("NewPublication", publication.Titulo);

                return(StatusCode(StatusCodes.Status201Created, publication));
            }
            catch (Exception e)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, e.Message));
            }
        }
예제 #3
0
        public async Task <IActionResult> InsertPublication([FromBody] PublicationDTO publication, int id)
        {
            publication.NetworkId = id;

            PublicationDTO insertedPublication = await _publicationDAO.Insert(publication);

            return(new OkObjectResult(insertedPublication));
        }
예제 #4
0
 public static Publication FromDTO(PublicationDTO publication)
 => new Publication
 {
     Id        = publication.Id,
     NetworkId = publication.NetworkId,
     AuthorId  = publication.AuthorId,
     Date      = publication.Date,
     Content   = publication.Content
 };
예제 #5
0
 public static Publication ConvertToEntity(this PublicationDTO dto)
 {
     return(new Publication {
         Id = dto.Id,
         Active = dto.Active,
         StudyId = dto.StudyId,
         Data = dto.Data?.Select(d => d.ConvertToEntity()).ToList()
     });
 }
예제 #6
0
        public void Edit(PublicationDTO publication)
        {
            var publicationResult = _dataBase.Publications.GetById(publication.Id);

            publicationResult.Header  = publication.Header;
            publicationResult.Content = publication.Content;
            _dataBase.Publications.Update(publicationResult);
            _dataBase.Save();
        }
예제 #7
0
        public async Task <IActionResult> Post(PublicationDTO publication)
        {
            var publicationPost = _mapper.Map <Publication>(publication);
            await _publicationService.InsertPublication(publicationPost);

            publication = _mapper.Map <PublicationDTO>(publicationPost);
            var response = new ApiResponse <PublicationDTO>(publication);

            return(Ok(response));
        }
예제 #8
0
        public async Task <IActionResult> Put(int id, PublicationDTO publication)
        {
            var publicationPost = _mapper.Map <Publication>(publication);

            publicationPost.Id = id;
            var result = await _publicationService.PutPublication(publicationPost);

            var response = new ApiResponse <bool>(result);

            return(Ok(response));
        }
예제 #9
0
        public async Task <PublicationDTO> FindById(int id)
        {
            Publication publication = await _context.Publications
                                      .Find(Builders <Publication> .Filter.Eq(u => u.Id, id))
                                      .FirstOrDefaultAsync();

            if (publication == null)
            {
                return(null);
            }

            return(PublicationDTO.FromPublication(publication));
        }
예제 #10
0
        public async Task <IEnumerable <PublicationDTO> > FindAll()
        {
            IEnumerable <Publication> publications = await _context.Publications.Find(_ => true).ToListAsync();

            List <PublicationDTO> result = new List <PublicationDTO>();

            foreach (Publication publication in publications)
            {
                result.Add(PublicationDTO.FromPublication(publication));
            }

            return(result);
        }
예제 #11
0
        public static PublicationModel FromPublicationDtoToPublicationModel(PublicationDTO source, bool isRecurtion)
        {
            var publication = _fromPublicationDtoToPublicationModel.CreateMapper().Map <PublicationDTO, PublicationModel>(source);

            if (!isRecurtion)
            {
                foreach (var p in source.UsersWhoLike)
                {
                    publication.UsersWhoLike.Add(FromUserDtoToUserModel(p, true));
                }
            }
            return(publication);
        }
예제 #12
0
        public void Create(PublicationDTO publication)
        {
            var user = _dataBase.UserManager.FindByEmailAsync(publication.Author.Email).Result;

            _dataBase.Publications.Create(new Publication
            {
                Header       = publication.Header,
                AuthorId     = user.Id,
                Content      = publication.Content,
                UsersWhoLike = null,
                DateOfCreate = publication.DateOfCreate
            });
            _dataBase.Save();
        }
예제 #13
0
        public async Task <PublicationDTO> Insert(PublicationDTO dto)
        {
            Counter counter = await _counterDAO.GetCountersAsync();

            int id = counter.Publications++;
            await _counterDAO.UpdateCountersAsync(counter);

            Publication publication = Publication.FromDTO(dto);

            publication.Id = id;

            await _context.Publications.InsertOneAsync(publication);

            return(FindById(publication.Id).Result);
        }
예제 #14
0
        public async Task <IEnumerable <PublicationDTO> > FindByNetworkId(int id)
        {
            List <Publication> publications = await _context.Publications
                                              .Find(Builders <Publication> .Filter.Eq(p => p.NetworkId, id))
                                              .ToListAsync();

            List <PublicationDTO> result = new List <PublicationDTO>();

            foreach (Publication publication in publications)
            {
                result.Add(PublicationDTO.FromPublication(publication));
            }

            return(result);
        }
 public IHttpActionResult EditPublication([FromBody] PublicationModel publication)
 {
     if (ModelState.IsValid)
     {
         var publicationDTO = new PublicationDTO
         {
             Header = publication.Header,
             Author = new UserDTO {
                 Email = User.Identity.Name
             },
             Content      = publication.Content,
             UsersWhoLike = null,
             Id           = publication.Id
         };
         _publicationService.Edit(publicationDTO);
         return(Ok("Publication was edite"));
     }
     return(BadRequest(" model is not valid"));
 }
 public IHttpActionResult CreatePublication([FromBody] PublicationModel publication)
 {
     if (ModelState.IsValid)
     {
         var publicationDTO = new PublicationDTO
         {
             Header = publication.Header,
             Author = new UserDTO {
                 Email = User.Identity.Name
             },
             Content      = publication.Content,
             UsersWhoLike = null,
             DateOfCreate = DateTime.Now
         };
         _publicationService.Create(publicationDTO);
         return(Ok("Publication was creat successful"));
     }
     else
     {
         return(BadRequest("Incorrect input data!"));
     }
 }