public string DeleteCounterparty(string _counterpartyId, string _contractId) { if (_counterpartyId != null && _contractId != null) { ContractCounterparty contractCounterparty = _context.ContractCounterparties.FirstOrDefault(c => c.CounterpartyId.ToString() == _counterpartyId && c.ContractId.ToString() == _contractId); _context.ContractCounterparties.Remove(contractCounterparty); _context.SaveChanges(); } return(JsonConvert.SerializeObject(true, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })); }
public async Task <IActionResult> Edit(int id, EditContractViewModel model) { if (id != model.Contract.Id) { return(NotFound()); } if (ModelState.IsValid) { try { if (model.CounterpartiesId != null) { for (int i = 0; i < model.CounterpartiesId.Count; i++) { ContractCounterparty contractCounterparty = new ContractCounterparty() { ContractId = id, CounterpartyId = model.CounterpartiesId[i] }; if (!_context.ContractCounterparties.ToList().Exists(c => c.ContractId == contractCounterparty.ContractId && c.CounterpartyId == contractCounterparty.CounterpartyId)) { _context.ContractCounterparties.Add(contractCounterparty); await _context.SaveChangesAsync(); } } } _context.Update(model.Contract); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ContractExists(model.Contract.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Details", new { id = id })); } return(View(model.Contract)); }