Пример #1
0
 public MntTipoAjusteInventarioForm(ObservableListSource <TipoAjusteInventarioViewModel> viewModelList)
 {
     InitializeComponent();
     ViewModel     = new TipoAjusteInventarioViewModel();
     ViewModelList = viewModelList;
     tipoAjusteInventarioViewModelBindingSource.DataSource = ViewModel;
 }
        private void CargarCombos()
        {
            using (var context = new ApplicationDbContext())
            {
                var almacens = context.Almacens.ToList();
                almacenViewModels = new List <AlmacenViewModel>();
                foreach (var almacen in almacens)
                {
                    almacenViewModels.Add(new AlmacenViewModel(almacen));
                }
                almacenViewModelBindingSource.DataSource = almacenViewModels;
                if (!string.IsNullOrEmpty(ViewModel.AlmacenId))
                {
                    AlmacenViewModel almacenViewModel = almacenViewModels
                                                        .Where(o => o.AlmacenId == ViewModel.AlmacenId)
                                                        .FirstOrDefault();
                    almacenComboBox.SelectedItem = almacenViewModel;
                }

                var tipoAjusteInventarios = context.TipoAjusteInventarios.ToList();
                tipoAjusteInventarioViewModels = new List <TipoAjusteInventarioViewModel>();
                foreach (var tipoAjusteInventario in tipoAjusteInventarios)
                {
                    tipoAjusteInventarioViewModels.Add(new TipoAjusteInventarioViewModel(tipoAjusteInventario));
                }
                tipoAjusteInventarioViewModelBindingSource.DataSource = tipoAjusteInventarioViewModels;
                if (!string.IsNullOrEmpty(ViewModel.TipoAjusteInventarioId))
                {
                    TipoAjusteInventarioViewModel tipoAjusteInventarioViewModel = tipoAjusteInventarioViewModels
                                                                                  .Where(o => o.TipoAjusteInventarioId == ViewModel.TipoAjusteInventarioId)
                                                                                  .FirstOrDefault();
                    tipoAjusteInventarioComboBox.SelectedItem = tipoAjusteInventarioViewModel;
                }
            }
        }
        private void Grabar()
        {
            try
            {
                bool IsNew = ViewModel.IsNew;
                Cursor = Cursors.WaitCursor;
                ajusteInventarioViewModelBindingSource.EndEdit();

                AlmacenViewModel almacenViewModel
                    = (AlmacenViewModel)almacenViewModelBindingSource.Current;
                if (almacenViewModel == null)
                {
                    throw new Exception("Debe seleccionar un almacén");
                }
                ViewModel.AlmacenId = almacenViewModel.AlmacenId;
                ViewModel.Almacen   = almacenViewModel.Nombre;

                TipoAjusteInventarioViewModel tipoAjusteInventarioViewModel
                    = (TipoAjusteInventarioViewModel)tipoAjusteInventarioViewModelBindingSource.Current;
                if (tipoAjusteInventarioViewModel == null)
                {
                    throw new Exception("Debe seleccionar un tipo de ajuste");
                }
                ViewModel.TipoAjusteInventarioId = tipoAjusteInventarioViewModel.TipoAjusteInventarioId;
                ViewModel.TipoAjusteInventario   = tipoAjusteInventarioViewModel.Nombre;

                ViewModel.Grabar();
                if (IsNew)
                {
                    ViewModelList.Add(ViewModel);
                }
                else
                {
                    var viewModel = ViewModelList
                                    .Where(o => o.AjusteInventarioId == ViewModel.AjusteInventarioId)
                                    .FirstOrDefault();
                    viewModel.CopyOf(ViewModel);
                }
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(string.Format("Ocurrió un error al grabar, mensaje de error: {0}", ex.Message)
                                , "Grabar", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                Cursor = Cursors.Default;
            }
        }