Exemple #1
0
        public async Task ActivateAsync(int id)
        {
            var entity = await this.GetAsync(id);

            entity.Active = true;
            await context.SaveChangesAsync();
        }
Exemple #2
0
        private async void BtnSaveClickAsync(object sender, RoutedEventArgs e)
        {
            var validated = this.ValidateInput();

            if (validated.IsValidated)
            {
                MetroAnimatedSingleRowTabControl mainTabControl = Util.FindParent <MetroAnimatedSingleRowTabControl>(this);
                var currentTab = (MetroTabItem)mainTabControl.SelectedItem;

                using (var db = new PCEntities())
                {
                    try
                    {
                        var otherLocation = ((office_LocatedComboBox.Items
                                              .GetItemAt(office_LocatedComboBox.Items.Count - 1) as ComboBoxItem).Content as OtherLocation)
                                            .FindChild <TextBox>("txt_otherLocation").Text;

                        if (!string.IsNullOrEmpty(otherLocation))
                        {
                            db.Offices.Add(new Office
                            {
                                Location = otherLocation,
                                Active   = true,
                            });
                            await db.SaveChangesAsync();

                            pc.Office_Located = otherLocation;
                        }

                        pc.Active = true;

                        db.Pcs.Add(pc);
                        await db.SaveChangesAsync();

                        currentTab.Header = pc.PC_Name;
                        btnSave.Content   = "Saved";
                    }
                    catch (Exception ex)
                    {
                        Util.WriteLog(ex.Message + "\n" + ex.StackTrace);
                        Util.ShowMessageBoxAsync("Error", ex.Message);
                        throw;
                    }
                }
            }
            else
            {
                var metroWindow = (Application.Current.MainWindow as MetroWindow);
                await metroWindow.ShowMessageAsync("Warning", validated.ValidateMessage);
            }
        }
Exemple #3
0
        private async void SaveFromExcelAsync()
        {
            var metroWindow          = (Application.Current.MainWindow as MetroWindow);
            MessageDialogStyle style = MessageDialogStyle.AffirmativeAndNegative;
            var result = await metroWindow.ShowMessageAsync("Confirm", "Are you sure to add these records to database ?", style);

            if (result == MessageDialogResult.Affirmative)
            {
                var controller = await metroWindow.ShowProgressAsync("Adding", "Please wait...");

                controller.SetIndeterminate();


                using (var db = new PCEntities())
                {
                    try
                    {
                        await Task.Run(() =>
                        {
                            var list = pcViewModelList.AsQueryable().ProjectTo <Pc>(config);

                            foreach (Pc item in list)
                            {
                                item.Active = true;
                                db.Pcs.Add(item);
                            }
                        });

                        await db.SaveChangesAsync();

                        await controller.CloseAsync();

                        var mesDialogResult = await metroWindow.ShowMessageAsync("Success", "Saved to Database.");

                        btnSaveExcel.Content   = "Saved";
                        btnSaveExcel.IsEnabled = false;

                        if (mesDialogResult == MessageDialogResult.Affirmative)
                        {
                            metroWindow.FindChild <MetroAnimatedSingleRowTabControl>("MainTabControl").SelectedIndex = 0;
                        }
                    }
                    catch (Exception ex)
                    {
                        await controller.CloseAsync();

                        await metroWindow.ShowMessageAsync("Error", ex.Message);

                        Util.WriteLog(ex.Message + "\n" + ex.StackTrace);
                    }
                }
            }
        }
Exemple #4
0
        private async void BtnDeleteClicked(object sender, RoutedEventArgs e)
        {
            var result = ShowMessageBox("Delete ?", "Are you sure to delete selected records ?");

            if (result == MessageDialogResult.Affirmative)
            {
                var selectedList = pcViewSource.Where(q => q.IsSelected)
                                   .AsQueryable()
                                   .ProjectTo <Pc>(config);

                foreach (var item in selectedList)
                {
                    item.Active = false;
                    db.Pcs.Attach(item);
                    db.Entry(item).State = EntityState.Modified;
                }
                await db.SaveChangesAsync();
            }

            LoadDataSource();
        }
Exemple #5
0
        private async Task UpdateAsync()
        {
            var mapper = config.CreateMapper();

            try
            {
                using (var db = new PCEntities())
                {
                    foreach (var item in pcViewSource)
                    {
                        var entity = mapper.Map <Pc>(item);

                        if (item.ID == 0)
                        {
                            //ad new pc
                            entity.Active = true;
                            db.Pcs.Add(entity);
                        }
                        else if (item.IsUpdated)
                        {
                            //update a pc
                            db.Pcs.Attach(entity);
                            db.Entry(entity).State = EntityState.Modified;
                        }
                    }
                    await db.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                await Util.ShowMessageBoxAsync("Error !", "Error occured: " + ex.Message);

                Util.WriteLog(ex.Message + "\n" + ex.StackTrace);
            }

            changesCounts = 0;
        }