Пример #1
0
        public async Task <Article> DeleteArticleAsync(int articleId)
        {
            Article article = await _context.Articles.FirstOrDefaultAsync(s => s.Id == articleId);

            InternalArticleInformation internalInfo = null;
            ArticleInformation         articleInfo  = null;

            if (article != null)
            {
                internalInfo = await _context.InternalArticleInformations.FirstOrDefaultAsync(i => i.Id == article.InternalArticleInformationId);

                articleInfo = await _context.ArticleInformations.FirstOrDefaultAsync(a => a.Id == article.ArticleInformationId);
            }

            if (article != null && internalInfo != null && articleInfo != null)
            {
                _context.Articles.Remove(article);
                await _context.SaveChangesAsync();

                _context.ArticleInformations.Remove(articleInfo);
                await _context.SaveChangesAsync();

                _context.InternalArticleInformations.Remove(internalInfo);
                await _context.SaveChangesAsync();

                return(article);
            }
            return(null);
        }
        public async Task <InternalArticleInformation> AddInternalArticleInformation(InternalArticleInformation internalArticle)
        {
            var result = await _context.InternalArticleInformations.AddAsync(internalArticle);

            await _context.SaveChangesAsync();

            return(result.Entity);
        }
Пример #3
0
        public async Task <ActionResult <InternalArticleInformation> > UpdateInternalArticleInformation(int id, InternalArticleInformation internalArticleInformation)
        {
            try
            {
                if (id != internalArticleInformation.Id)
                {
                    return(BadRequest());
                }

                var internalArticleInformationToUpdate = await _internalArticleInformationRepository.GetInternalArticleInformation(id);

                if (internalArticleInformationToUpdate == null)
                {
                    return(NotFound($"InternalArticleInformation with id = {id} not found"));
                }

                return(await _internalArticleInformationRepository.UpdateInternalArticleInformation(internalArticleInformation));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Error retrieving data from the database."));
            }
        }
 public async Task UpdateInternalArticleInformation(int id, InternalArticleInformation internalArticleInformation)
 {
     await httpClient.PutAsJsonAsync($"/api/internalArticleInformations/{id}", internalArticleInformation);
 }
        public async Task <InternalArticleInformation> UpdateInternalArticleInformation(InternalArticleInformation internalArticle)
        {
            var resultInternalArticleInformation = await _context.InternalArticleInformations
                                                   .Include(s => s.Sapplants)
                                                   .Include(q => q.Qips)
                                                   .Include(b => b.Bundles)
                                                   .FirstOrDefaultAsync(s => s.Id == internalArticle.Id);

            if (resultInternalArticleInformation != null)
            {
                resultInternalArticleInformation.Bosnumber               = internalArticle.Bosnumber;
                resultInternalArticleInformation.Carlanumber             = internalArticle.Carlanumber;
                resultInternalArticleInformation.ClassificationCode      = internalArticle.ClassificationCode;
                resultInternalArticleInformation.CompanyCode             = internalArticle.CompanyCode;
                resultInternalArticleInformation.CurrencyRate            = internalArticle.CurrencyRate;
                resultInternalArticleInformation.DepartmentId            = internalArticle.DepartmentId;
                resultInternalArticleInformation.AmountInForeignCurrency = internalArticle.AmountInForeignCurrency;
                resultInternalArticleInformation.Eannumber               = internalArticle.Eannumber;
                resultInternalArticleInformation.Grinnumber              = internalArticle.Grinnumber;
                resultInternalArticleInformation.Gtinnumber              = internalArticle.Gtinnumber;
                resultInternalArticleInformation.Iloscategory            = internalArticle.Iloscategory;
                resultInternalArticleInformation.IlosorderPickGroup      = internalArticle.IlosorderPickGroup;
                resultInternalArticleInformation.IlossortGroup           = internalArticle.IlossortGroup;
                resultInternalArticleInformation.InnerPackingIlos        = internalArticle.InnerPackingIlos;
                resultInternalArticleInformation.InsertBosSap            = internalArticle.InsertBosSap;
                resultInternalArticleInformation.InsertEanSap            = internalArticle.InsertEanSap;
                resultInternalArticleInformation.InsertGrinSap           = internalArticle.InsertGrinSap;
                resultInternalArticleInformation.Lrinnumber              = internalArticle.Lrinnumber;
                resultInternalArticleInformation.NewIlosarticleNumber    = internalArticle.NewIlosarticleNumber;
                resultInternalArticleInformation.PackagingGroup          = internalArticle.PackagingGroup;
                resultInternalArticleInformation.PriceInCountryCurrency  = internalArticle.PriceInCountryCurrency;
                resultInternalArticleInformation.PrimaryDcIloscode       = internalArticle.PrimaryDcIloscode;
                resultInternalArticleInformation.ReferenceIlosnumber     = internalArticle.ReferenceIlosnumber;
                resultInternalArticleInformation.ReferenceSapmaterial    = internalArticle.ReferenceSapmaterial;
                resultInternalArticleInformation.RegisterShelfLife       = internalArticle.RegisterShelfLife;
                resultInternalArticleInformation.RemainShelfStore        = internalArticle.RemainShelfStore;
                resultInternalArticleInformation.Sprnnumber              = internalArticle.Sprnnumber;
                resultInternalArticleInformation.SupplierDeliveryUnit    = internalArticle.SupplierDeliveryUnit;
                resultInternalArticleInformation.SupplierIdIlos          = internalArticle.SupplierIdIlos;
                resultInternalArticleInformation.TextPurchaseNumber      = internalArticle.TextPurchaseNumber;
                resultInternalArticleInformation.TransitTimeForHavi      = internalArticle.TransitTimeForHavi;
                resultInternalArticleInformation.VatTaxcode              = internalArticle.VatTaxcode;
                await _context.SaveChangesAsync();

                foreach (Sapplant plant in internalArticle.Sapplants)
                {
                    var resultPlant = await _context.Sapplants.FirstOrDefaultAsync(s => s.Id == plant.Id);

                    if (resultPlant != null)
                    {
                        resultPlant.SapplantName  = plant.SapplantName;
                        resultPlant.SapplantValue = plant.SapplantValue;
                    }
                    else
                    {
                        await _context.Sapplants.AddAsync(plant);
                    }
                    await _context.SaveChangesAsync();
                }

                foreach (Qip qip in internalArticle.Qips)
                {
                    var resultQIP = await _context.Qips.FirstOrDefaultAsync(q => q.Id == qip.Id);

                    if (resultQIP != null)
                    {
                        resultQIP.QipanswerOptions = qip.QipanswerOptions;
                        resultQIP.Qipdescription   = qip.Qipdescription;
                        resultQIP.Qipfrequency     = qip.Qipfrequency;
                        resultQIP.QipfrequencyType = qip.QipfrequencyType;
                        resultQIP.QiphighBoundary  = qip.QiphighBoundary;
                        resultQIP.QiplowBoundary   = qip.QiplowBoundary;
                        resultQIP.QipnameNumber    = qip.QipnameNumber;
                        resultQIP.Qipokvalue       = qip.Qipokvalue;
                        resultQIP.QipsetAnswer     = qip.QipsetAnswer;
                    }
                    else
                    {
                        await _context.Qips.AddAsync(qip);
                    }
                    await _context.SaveChangesAsync();
                }

                foreach (Bundle bundle in internalArticle.Bundles)
                {
                    var resultBundle = await _context.Bundles.FirstOrDefaultAsync(b => b.Id == bundle.Id);

                    if (resultBundle != null)
                    {
                        resultBundle.ArticleBundle         = bundle.ArticleBundle;
                        resultBundle.ArticleBundleQuantity = bundle.ArticleBundleQuantity;
                    }
                    else
                    {
                        await _context.Bundles.AddAsync(bundle);
                    }
                    await _context.SaveChangesAsync();
                }
                return(resultInternalArticleInformation);
            }

            return(null);
        }