Exemplo n.º 1
0
        public ActionResult AddOrEdit(PublicationDto model)
        {
            try
            {
                if (model.Id > 0)
                {
                    PublicationService.Update(model);
                }
                else
                {
                    var result = PublicationService.Create(model);

                    var path = $"/Content/images/publication/{result.Id}/";
                    if (!Directory.Exists(Server.MapPath(path)))
                    {
                        Directory.CreateDirectory(Server.MapPath(path));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new OperationResult {
                    Status = StatusOperation.Error, Message = ex.Message
                }));
            }
            return(Json(new OperationResult {
                Status = StatusOperation.Success, Message = "Операция выполнена успешно"
            }));
        }
Exemplo n.º 2
0
        public IHttpActionResult PostPublicationByGamer(int gamerid, [FromBody] PublicationDto publicationdto)
        {
            dynamic Response = new ExpandoObject();

            try
            {
                if (!ModelState.IsValid)
                {
                    Response.Status  = ConstantValues.ResponseStatus.ERROR;
                    Response.Message = ConstantValues.ErrorMessage.BAD_REQUEST;
                    return(Content(HttpStatusCode.BadRequest, Response));
                }

                var publication = Mapper.Map <PublicationDto, Publication>(publicationdto);
                publication.gamerId = gamerid;
                _context.Publications.Add(publication);
                _context.SaveChanges();

                publicationdto.id      = publication.id;
                publicationdto.gamerId = gamerid;
                Response.Status        = ConstantValues.ResponseStatus.OK;
                Response.Publication   = publicationdto;

                return(Created(new Uri(Request.RequestUri + "/" + publication.id), Response));
            }
            catch (Exception e)
            {
                Response.Status  = ConstantValues.ResponseStatus.ERROR;
                Response.Message = ConstantValues.ErrorMessage.INTERNAL_SERVER_ERROR;
                return(Content(HttpStatusCode.InternalServerError, Response));
            }
        }
        public async Task PutAsync(int id, PublicationDto publicationDto, CancellationToken cancellationToken = default)
        {
            var publicationToUpdate = await _dataContext.Publications
                                      .Include(publication => publication.Authors)
                                      .Include(publication => publication.Reviews)
                                      .Include(publication => publication.Publisher)
                                      .SingleAsync(publication => publication.Id == id, cancellationToken);

            publicationToUpdate.Title       = publicationDto.Title;
            publicationToUpdate.Description = publicationDto.Description;
            publicationToUpdate.Authors     = (await Task.WhenAll(
                                                   publicationDto.AuthorsIds.Select(async authorId =>
                                                                                    await _dataContext.Authors.SingleAsync(author => author.Id == authorId, cancellationToken)
                                                                                    )
                                                   )).ToList();
            publicationToUpdate.Reviews = (await Task.WhenAll(
                                               publicationDto.ReviewsIds.Select(async reviewId =>
                                                                                await _dataContext.Reviews.SingleAsync(review => review.Id == reviewId, cancellationToken)
                                                                                )
                                               )).ToList();
            publicationToUpdate.Publisher = publicationDto.PublisherId != null
                                ? await _dataContext.Publishers.SingleAsync(publisher =>
                                                                            publisher.Id == publicationDto.PublisherId, cancellationToken
                                                                            )
                                : null;

            await _dataContext.SaveChangesAsync(cancellationToken);
        }
        public async Task PostAsync(PublicationDto publicationDto, CancellationToken cancellationToken = default)
        {
            var publication = new Publication
            {
                Title       = publicationDto.Title,
                Description = publicationDto.Description,
                Authors     = (await Task.WhenAll(
                                   publicationDto.AuthorsIds.Select(async authorId =>
                                                                    await _dataContext.Authors.SingleAsync(author => author.Id == authorId, cancellationToken)
                                                                    )
                                   )).ToList(),
                Reviews = (await Task.WhenAll(
                               publicationDto.ReviewsIds.Select(async reviewId =>
                                                                await _dataContext.Reviews.SingleAsync(review => review.Id == reviewId, cancellationToken)
                                                                )
                               )).ToList(),
                Publisher = publicationDto.PublisherId != null
                                        ? await _dataContext.Publishers.SingleAsync(publisher =>
                                                                                    publisher.Id == publicationDto.PublisherId, cancellationToken
                                                                                    )
                                        : null
            };

            await _dataContext.Publications.AddAsync(publication, cancellationToken);

            await _dataContext.SaveChangesAsync(cancellationToken);
        }
Exemplo n.º 5
0
 private static void AssertAreEqual(PublicationDto publicationDto, Publication publication)
 {
     Assert.AreEqual(publicationDto.Title, publication.Title);
     Assert.AreEqual(publicationDto.Description, publication.Description);
     Assert.AreEqual(publicationDto.AuthorsIds, publication.Authors.Select(author => author.Id));
     Assert.AreEqual(publicationDto.ReviewsIds, publication.Reviews.Select(review => review.Id));
     Assert.AreEqual(publicationDto.PublisherId, publication.Publisher.Id);
 }
Exemplo n.º 6
0
        public ActionResult AddOrEdit(int?id)
        {
            var dto = new PublicationDto();

            if (id.HasValue)
            {
                dto = PublicationService.Get(id.Value);
            }

            return(View(dto));
        }
Exemplo n.º 7
0
        public async Task UpdateAsync(Guid currentPublicationId, PublicationDto newPublication)
        {
            var publication = await _domainContext.Publications.FirstOrDefaultAsync(e => e.Id == currentPublicationId);

            if (publication != null)
            {
                publication.ScientificAdvisor    = newPublication.ScientificAdvisor;
                publication.TitleOfTheArticle    = newPublication.TitleOfTheArticle;
                publication.Abstract             = newPublication.Abstract;
                publication.Keywords             = newPublication.Keywords;
                publication.MainTextOfTheArticle = newPublication.MainTextOfTheArticle;
                publication.Literature           = newPublication.Literature;
                publication.EmployeeId           = newPublication.EmployeeId;
            }
        }
Exemplo n.º 8
0
        public Publication Add(PublicationDto addedPublication)
        {
            var publication = new Publication()
            {
                ScientificAdvisor    = addedPublication.ScientificAdvisor,
                TitleOfTheArticle    = addedPublication.TitleOfTheArticle,
                Abstract             = addedPublication.Abstract,
                Keywords             = addedPublication.Keywords,
                MainTextOfTheArticle = addedPublication.MainTextOfTheArticle,
                Literature           = addedPublication.Literature,
                EmployeeId           = addedPublication.EmployeeId
            };

            _domainContext.Publications.Add(publication);
            return(publication);
        }
Exemplo n.º 9
0
        public async Task <Publication> CreateOrUpdate(Guid?publicationId, PublicationDto createdPublicationData)
        {
            if (publicationId == null)
            {
                var publication = _publicationRepository.Add(createdPublicationData);
                await _domainContext.SaveChangesAsync();

                return(await _publicationRepository.GetAsync(publication.Id));
            }

            await _publicationRepository.UpdateAsync(publicationId.Value, createdPublicationData);

            await _domainContext.SaveChangesAsync();

            return(await _publicationRepository.GetAsync(publicationId.Value));
        }
Exemplo n.º 10
0
 /// <summary>
 ///    From Publication dto To Publication pivot.
 /// </summary>
 /// <param name="publicationDto">publication dto to assemble.</param>
 /// <returns>Publicationpivot result.</returns>
 public static PublicationPivot ToPivot(this PublicationDto publicationDto)
 {
     if (publicationDto == null)
     {
         return(null);
     }
     return(new PublicationPivot
     {
         PublicationId = publicationDto.PublicationId,
         PublicationImage = publicationDto.PublicationImage,
         PublicationDate = publicationDto.PublicationDate,
         AreaId = publicationDto.AreaId,
         Area = publicationDto.Area.ToPivot(),
         AuthorId = publicationDto.AuthorId,
         Author = publicationDto.Author.ToPivot(),
     });
 }