/// <summary> /// Initializes a new instance of the <see cref="ProducersAndMaterialsTabItemViewModel"/> class. /// </summary> /// <param name="modalDialogProvider">The modal dialog service.</param> /// <param name="serviceFactory">The service factory.</param> public MaterialsAndContractorsTabItemViewModel(IMainViewModel mainViewModel, IModalDialogProvider modalDialogProvider, IServiceFactory serviceFactory) : base(mainViewModel, modalDialogProvider, serviceFactory) { MaterialDetailsViewModel = new MaterialDetailsViewModel(MainViewModel, ModalDialogProvider, ServiceFactory); MaterialListViewModel = new MaterialListViewModel(MainViewModel, MaterialDetailsViewModel, ModalDialogProvider, ServiceFactory); ContractorDetailsViewModel = new ContractorDetailsViewModel(MainViewModel, ModalDialogProvider, ServiceFactory); ContractorListViewModel = new ContractorListViewModel(MainViewModel, ContractorDetailsViewModel, ModalDialogProvider, ServiceFactory); ViewModelProvider.RegisterChildViewModel(MaterialDetailsViewModel, ViewModelProviderAction.IsReadOnlyChanged); ViewModelProvider.RegisterChildViewModel(ContractorDetailsViewModel, ViewModelProviderAction.IsReadOnlyChanged | ViewModelProviderAction.SaveInvoked); ViewModelProvider.RegisterChildViewModel(ContractorListViewModel, ViewModelProviderAction.DeleteInvoked); ViewModelProvider.ChildrenViewModelDeleteInvoked += new System.EventHandler<ViewModelProviderActionEventArgs>(ViewModelProvider_ChildrenViewModelDeleteInvoked); ViewModelProvider.ChildrenViewModelSaveInvoked += new System.EventHandler<ViewModelProviderActionEventArgs>(ViewModelProvider_ChildrenViewModelSaveInvoked); }
public ActionResult SaveContractor(ContractorDetailsViewModel model) { var isNew = model.ContractorId == Guid.Empty ? true : false; Contractor contractor = null; if (isNew) { contractor = new Contractor(); contractor.ContractorID = Guid.NewGuid(); } else { contractor = db.Contractors.Find(model.ContractorId); } contractor.Address = model.Address; contractor.City = model.City; contractor.Comments = model.Comments; contractor.ContactFirstName = model.ContactFirstName; contractor.ContactLastName = model.ContactLastName; contractor.ContractCompanyName = model.ContractCompanyName; contractor.Email = model.Email; contractor.OfficeTelephone = model.OfficeTelephone; contractor.MCPNumber = model.MCPNumber; contractor.MCPExpiration = model.MCPExpiration; contractor.State = model.State; contractor.Zip = model.Zip; contractor.ContractorTypeId = model.ContractorTypeId; if (isNew) { db.Contractors.Add(contractor); } db.SaveChanges(); return(Json(contractor.ContractorID, JsonRequestBehavior.AllowGet)); }