Ejemplo n.º 1
0
        private void Add_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            SmpUcFormState.CurrentState = FormCurrentState.AddMaster;

            if (!(DataGridEmployees.SelectedItem is Employee selectedEmployee))
            {
                return;
            }
            var newItem = new ContractMaster
            {
                Employee        = selectedEmployee,
                ContractNo      = "0",
                ContractDetails = new List <ContractDetail>(),
                DateEmployment  = selectedEmployee.ContractMasters.FirstOrDefault(c => c.IsCurrent)?.DateEmployment ?? DateTime.Now,
                DateExecution   = DateTime.Now,
                DateExport      = DateTime.Now
            };

            selectedEmployee.ContractMasters.Add(newItem);
            CollectionViewSource.GetDefaultView(DataGridEmployeeContracts.ItemsSource)?.Refresh();
            DataGridEmployeeContracts.SelectedItem = newItem;
            DataGridEmployeeContracts.ScrollIntoView(newItem);
            SmpUcContractMasterEdit.SelectFirstItem();

//			SmpUcContractDetailsEdit.DataContext = null;
//		    SmpUcContractMasterEdit.CurrentContractMaster = newItem;
        }
Ejemplo n.º 2
0
        private void SaveContractMasterAndContinue()
        {
            SmpUcContractMasterEdit.CommitContext();
            if (!(SmpUcContractMasterEdit.DataContext is ContractMaster newItem))
            {
                return;
            }
            var contractFields = newItem.MainGroup.CurrentContractFields.ToList();

            contractFields.ForEach(gft => newItem.ContractDetails.Add(new ContractDetail {
                ContractField = gft
            }));
            Context.ContractMasters.Add(newItem);
            Context.SaveChanges();
            SmpUcFormState.CurrentState            = FormCurrentState.AddDetails;
            DataGridEmployeeContracts.SelectedItem = newItem;
            SmpUcContractDetailsEdit.Refresh();
            SmpUcContractDetailsEdit.Select();
        }
Ejemplo n.º 3
0
        private void Save_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            switch (SmpUcFormState.CurrentState)
            {
            case FormCurrentState.AddMaster:
                SaveContractMasterAndContinue();
                SmpUcFormState.CurrentState = FormCurrentState.Edit;
                break;

            case FormCurrentState.Edit:
                SmpUcContractDetailsEdit.CommitContext();
                SmpUcContractMasterEdit.CommitContext();
                SmpUcContractDetailsEdit.Refresh();
                SmpUcContractDetailsEdit.GetBindingExpression(DataContextProperty)?.UpdateSource();
                SmpUcFormState.CurrentState = FormCurrentState.Select;
                break;
            }

            Context.SaveChanges();
        }