/// <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);
        }
Example #2
0
        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));
        }