public AuthorsInPrintingEditionsViewModel GetPrintingEditionByIdInclude(int id) { IEnumerable <AuthorInPrintingEditions> modelFromBase = _authorInPrintingEditionRepository.FindByPrintingEditionID(id); AuthorsInPrintingEditionsViewModel model = _mapper.Map <AuthorsInPrintingEditionsViewModel>(modelFromBase); return(model); }
public AuthorsInPrintingEditionsViewModel GetPrintingEditionByIdInclude(int id, string currentCurrencyName) { IEnumerable <AuthorInPrintingEditions> modelFromBase = _authorInPrintingEditionRepository.FindByPrintingEditionID(id); AuthorsInPrintingEditionsViewModel authInPEmodel = AuthorsInPrintForming(modelFromBase, currentCurrencyName) .First(model => model.PrtintingEditionId == id); return(authInPEmodel); }
public async Task <IActionResult> EditPrintingEdition([FromBody] AuthorsInPrintingEditionsViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await _printingEditionService.UpdateInformationAboutPrintinEdition(model); return(Ok(201)); }
public async Task CreatePrintingEdition(AuthorsInPrintingEditionsViewModel model) { PrintingEdition printingEdition = _mapper.Map <PrintingEdition>(model); var authors = new List <Author>(); var authorsInPrintEdit = new List <AuthorInPrintingEditions>(); await _printEditRepository.Create(printingEdition); foreach (AuthorViewModel authorId in model.AuthorsList) { authors.Add(await _authorRepository.Get(authorId.Id)); } foreach (Author author in authors) { authorsInPrintEdit.Add(new AuthorInPrintingEditions { AuthorId = author.Id, PrintingEditionId = printingEdition.Id }); } _authorInPrintingEditionRepository.AddAuthorInPe(authorsInPrintEdit); }
public async Task UpdateInformationAboutPrintinEdition(AuthorsInPrintingEditionsViewModel model) { var printingEdition = _mapper.Map <PrintingEdition>(model); var printEditionFromBase = await _printEditRepository.Get(model.PrtintingEditionId); var authors = new List <Author>(); if (printEditionFromBase is null) { return; } printEditionFromBase = _mapper.Map <PrintingEdition>(model); await _printEditRepository.Update(printEditionFromBase); foreach (AuthorViewModel author in model.AuthorsList) { authors.Add(await _authorRepository.Get(author.Id)); } IEnumerable <AuthorInPrintingEditions> authorInPrintEdBase = _authorInPrintingEditionRepository.FindByPrintingEditionID(printEditionFromBase.Id); _authorInPrintingEditionRepository.DeleteAuthorInPe(authorInPrintEdBase); var authorInPrintingEditionsNew = new List <AuthorInPrintingEditions>(); foreach (Author author in authors) { authorInPrintingEditionsNew.Add(new AuthorInPrintingEditions { AuthorId = author.Id, PrintingEditionId = printingEdition.Id }); } _authorInPrintingEditionRepository.AddAuthorInPe(authorInPrintingEditionsNew); }
private IEnumerable <AuthorsInPrintingEditionsViewModel> AuthorsInPrintForming(IEnumerable <AuthorInPrintingEditions> authorsInPriningEditions, string currentCurrencyName) { var modelsList = new List <AuthorsInPrintingEditionsViewModel>(); foreach (AuthorInPrintingEditions printEd in authorsInPriningEditions) { AuthorsInPrintingEditionsViewModel printEditionModel = modelsList.FirstOrDefault(r => r.PrtintingEditionId == printEd.PrintingEditionId); if (printEditionModel == null) { double price = _currencyConverter.Convert(printEd.PrintingEdition.Currency, printEd.PrintingEdition.Price, currentCurrencyName); printEditionModel = new AuthorsInPrintingEditionsViewModel { CurrencyName = currentCurrencyName, PrintingEditionImage = printEd.PrintingEdition.ImageUrl, PrintingEditionStatus = printEd.PrintingEdition.Status, PrintingEditionPrice = price, PrintingEditionTitle = printEd.PrintingEdition.NameEdition, PrtintingEditionDescription = printEd.PrintingEdition.Description, PrtintingEditionType = printEd.PrintingEdition.Type, PrtintingEditionId = printEd.PrintingEditionId }; modelsList.Add(printEditionModel); } printEditionModel.AuthorsList.Add(new AuthorViewModel { FirstName = printEd.Author.FirstName, LastName = printEd.Author.LastName, Id = printEd.Author.Id }); } return(modelsList); }
public AuthorsInPrintingEditionsViewModel GetPrintingEdition(int id, string currentCurrencyName) { AuthorsInPrintingEditionsViewModel modelsList = _printStoreService.GetPrintingEditionByIdInclude(id, currentCurrencyName); return(modelsList); }
public async Task <IActionResult> AddPrintingEdition([FromBody] AuthorsInPrintingEditionsViewModel model) { await _printingEditionService.CreatePrintingEdition(model); return(Ok(201)); }