public IActionResult UpdateOtherDocument(int id, OtherDocumentEditViewModel viewModel) { _otherDocumentService.Save(viewModel.GetModel() /* * Сюда нужно передать стратегию обновления, так как мы не знаем как именно данные запрашивались, * судя по всему он будет храниться во viewModel и отдаваться клиенту и возвращаться, либо формировать основываясь на бизнес логике */); var updatedOtherDocument = _otherDocumentService.Get(id); return(Ok(updatedOtherDocument)); }
private static void MakeUserEdit(ref OtherDocumentEditViewModel otherDocument) { otherDocument.Name = "New Document Name"; foreach (var payment in otherDocument.Payments) { payment.Total = "500$"; } foreach (var item in otherDocument.Items) { item.Name = "new item name, oldName:" + item.Name; var itemToDelete = item.NestedItems.FirstOrDefault(w => w.Id != default(int)); item.NestedItems.Remove(itemToDelete); } otherDocument.Items.Add(new OtherDocumentItemEditViewModel { Name = "new item created in make user edit", NestedItems = new List <NestedItemEditViewModel> { new NestedItemEditViewModel { NestedItemName = "new nested item name 1", OneMoreNestedItems = new List <OneMoreNesteItemEditViewModel> { new OneMoreNesteItemEditViewModel { OneMoreNestedItemName = "one more nested item name 1" }, new OneMoreNesteItemEditViewModel { OneMoreNestedItemName = "ss 2" }, }, }, new NestedItemEditViewModel { NestedItemName = "new nested item name 2", OneMoreNestedItems = new List <OneMoreNesteItemEditViewModel> { new OneMoreNesteItemEditViewModel { OneMoreNestedItemName = "one more nested item name 3" }, new OneMoreNesteItemEditViewModel { OneMoreNestedItemName = "ss 4" }, }, } } }); otherDocument.Payments.Add(new OtherDocumentPaymentEditViewModel { Total = "100500 in make user edit" }); }
public IActionResult UpdateOtherDocument(int id) { var strategy = new OtherDocumentWorkItemStrategy(withDeleted: false, withAttachments: true, withPayments: false, withItems: true, cacheResult: false, otherDocumentItemWorkItemStrategy: new OtherDocumentItemWorkItemStrategy(true, new NestedItemWorkItemStrategy())); var otherDocument = _otherDocumentService.Get(id, strategy); var viewModel = new OtherDocumentEditViewModel(otherDocument); MakeUserEdit(ref viewModel); _otherDocumentService.Save(viewModel.GetModel(), strategy); return(Ok()); }
public IActionResult InsertOtherDocument(int id, OtherDocumentEditViewModel viewModel) { _otherDocumentService.Save(viewModel.GetModel()); return(Ok()); }