예제 #1
0
        public async Task AddItem(Guid tenderGuid, ItemDTO itemDTO)
        {
            if (!AccessManager.CanCreateTender)
            {
                throw new AccessViolationException();
            }
            var acc_token = await AccessManager.GetTenderTokenAsync(tenderGuid);

            var savedTender = await Context.GetTenderAsync(tenderGuid);

            var items = savedTender.Items;

            items.Add(new Item(itemDTO)
            {
                AdditionalClassifications =
                    itemDTO.AdditionalClassifications?.Select(x => new Classification(x)).ToList()
            });

            using (TendersService service = new TendersService())
            {
                var rest = await service.ChangeTender(tenderGuid, new { items }, acc_token);

                Context.UpdateTender(savedTender, rest);
            }

            await Context.SaveChangesAsync();
        }
예제 #2
0
        public async Task EditTender(TenderDTO tenderDTO)
        {
            if (!AccessManager.CanCreateTender)
            {
                throw new AccessViolationException();
            }
            string acc_token = await AccessManager.GetTenderTokenAsync(tenderDTO.Guid);

            using (var service = new TendersService())
            {
                var changes = await service.ChangeTender(tenderDTO.Guid, tenderDTO.DropComplexProperties(), acc_token);

                //await Context.TryUpdateTender(changes);
            }
        }