public override void SaveModel() { Projects data = new Projects(); if (Status.IsNewInstance) { data.Id = Guid.NewGuid(); } CopyToModel(data, this); if (ProjectContract != null) { foreach (ProjectContractViewModel model in ProjectContract) { if (model != null) { ProjectContract pcdata = new ProjectContract(); CopyToModel(pcdata, model); pcdata.ProjectId = data.Id; data.ProjectContract.Add(pcdata); } } } if (ConstructionAtlas.Any()) { foreach (ConstructionAtlasViewModel model in ConstructionAtlas) { ConstructionAtlas entity = new ConstructionAtlas(); CopyToModel(entity, model); entity.ProjectContractId = data.Id; data.ConstructionAtlas.Add(entity); } } if (Suppliers != null) { if (Suppliers.Any()) { foreach (var supplier in Suppliers) { SupplierTranscationItem supplierdata = new SupplierTranscationItem(); supplierdata.PlaceofReceipt = supplier.PlaceofReceipt; supplierdata.ManufacturersBussinessItemsId = supplier.Id; supplierdata.ProjectId = data.Id; data.SupplierTranscationItem.Add(supplierdata); } } } var result = _projectcontroller.CreateOrUpdate(data); if (result.HasError) { Errors = result.Errors; } Query(data.Id); }