protected override void LoadWorkerDoWork(object sender, DoWorkEventArgs e) { Utils.EnsureCulture(); OnReloading = true; Dispatcher.Invoke(new Action(() => { aiLoader.Visibility = Visibility.Visible; tbNoResults.Visibility = Visibility.Collapsed; })); if (Convert.ToBoolean(e.Argument)) { Dispatcher.Invoke(new Action(() => { var propsSelectorWindow = new PropsSelectorWindow(true) { Owner = this }; Opacity = 0.5; propsSelectorWindow.ShowDialog(); Opacity = 1; _propID = propsSelectorWindow.GetPropID(); })); } e.Result = new List <object> { PropsService.Get(_propID), PropStatusChangesService.Instanse.GetLatest(_propID) }; }
public async Task GetPropsWhichTypeIsShortSleeve_shouldReturnTrue() { var optionsBuilder = new DbContextOptionsBuilder <FabricaDBContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var context = new FabricaDBContext(optionsBuilder.Options); var propsService = new PropsService(context); var props = SeededPropsShouldBeVisualizedAtIndex(); await context.Props.AddRangeAsync(props); await context.SaveChangesAsync(); var expected = 1; var actualCount = await context.Props.Where(x => x.PropType == PropType.SS).CountAsync(); Assert.True(actualCount == expected); }
public static string LabPropDetailer(LabProp labProp, ActionType actionType) { switch (actionType) { case ActionType.Created: return(string.Format("{0} به لیست اموال {1} اضافه شد.", PropsService.Get(labProp.PropID).Name, LabsService.Get(labProp.LabID).Name)); case ActionType.Modified: return(string.Format("اطلاعات اموال {0} بروز شد.", LabsService.Get(labProp.LabID).Name)); case ActionType.Removed: return(string.Format("{0} از لیست اموال {1} حذف شد.", PropsService.Get(labProp.PropID).Name, LabsService.Get(labProp.LabID).Name)); default: return(null); } }
public static bool ChangeNotifiable(Notification notification) { try { if (notification.NotifyType == NotifyType.Prop) { return(PropsService.ChangeNotifiable(((Prop)notification.OriginalObject).PropID, false)); } if (notification.NotifyType == NotifyType.Item) { return(ItemsService.ChangeNotifiable(((Item)notification.OriginalObject), false)); } if (notification.NotifyType == NotifyType.Material) { return(MaterialsService.ChangeNotifiable(((Material)notification.OriginalObject).MaterialID, false)); } return(false); } catch (Exception exception) { Logger.Write(exception); return(false); } }
protected override void SaveWorkerRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (Global.ShowQuestion(this)) { var count = PropsService.CountOfNotNotifiable() + MaterialsService.CountOfNotNotifiable(); var progressWindow = new ProgressWindow(count); progressWindow.Show(this); foreach (var propID in PropsService.GetAllNotNotifiables()) { PropsService.ChangeNotifiable(propID, true); progressWindow.IncreaseProgress(); } foreach (var materialID in MaterialsService.GetAllNotNotifiables()) { MaterialsService.ChangeNotifiable(materialID, true); progressWindow.IncreaseProgress(); } progressWindow.Close(); Global.ShowSuceeded(this); TryToLoad(); } aiLoader.Visibility = Visibility.Collapsed; OnSaving = false; }
public async Task GetProps_writeThemToDatabaseAndShowThoseWithPriceMoreThan50_ShouldReturnCount2() { var optionsBuilder = new DbContextOptionsBuilder <FabricaDBContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()); var context = new FabricaDBContext(optionsBuilder.Options); var propsService = new PropsService(context); var props = new List <Prop>() { new Prop() { Name = "LS Crewneck", Description = "Long Sleeve Pullover. 90% Cotton, 10% Silk", PropType = PropType.LS, Hashtags = "#LS #Pullover #Cotton", ImageUrl = GlobalConstants.LSCrewneck, Price = 56.5, }, new Prop() { Name = "SS Crewneck", Description = "Short Sleeve Shirt. 50% Cotton, 50% Silk", PropType = PropType.SS, Hashtags = "#SS #T-shirt #50/50", ImageUrl = GlobalConstants.SSCrewneck, Price = 60, } }; context.Props.AddRange(props); await context.SaveChangesAsync(); var count = await context.Props.Where(x => x.Price > 50).CountAsync(); Assert.Equal(2, count); }
private bool ValidateFields() { if (string.IsNullOrWhiteSpace(cmbNames.Text)) { Global.ValidationFailed(this, PropsResources.NameNull); cmbNames.Focus(); return(false); } if (!string.IsNullOrWhiteSpace(tbPropNo.Text)) { int temp; if (!int.TryParse(tbPropNo.Text, out temp)) { Global.ValidationFailed(this, PropsResources.PropNoInvalid); tbPropNo.FocusAndSelect(); return(false); } if (!EditMode) { if (PropsService.Exist(int.Parse(tbPropNo.Text))) { Global.ValidationFailed(this, PropsResources.PropNoDuplicate); tbPropNo.FocusAndSelect(); return(false); } } else { if (PropsService.Exist(int.Parse(tbPropNo.Text), _current)) { Global.ValidationFailed(this, PropsResources.PropNoDuplicate); tbPropNo.FocusAndSelect(); return(false); } } } if (!string.IsNullOrWhiteSpace(tbSerialNo.Text)) { if (!EditMode) { if (PropsService.Exist(tbSerialNo.Text)) { Global.ValidationFailed(this, PropsResources.SerialNoDuplicate); tbSerialNo.FocusAndSelect(); return(false); } } else { if (PropsService.Exist(tbSerialNo.Text, _current)) { Global.ValidationFailed(this, PropsResources.SerialNoDuplicate); tbSerialNo.FocusAndSelect(); return(false); } } } if (!dtpPurchasingDate.IsValid) { Global.ValidationFailed(this, PropsResources.PurchasingDateInvalid); dtpPurchasingDate.FocusAndSelect(); return(false); } if (!dtpWarrantyExpirationDate.IsValid) { Global.ValidationFailed(this, PropsResources.WarrantyExpirationDateInvalid); dtpWarrantyExpirationDate.FocusAndSelect(); return(false); } return(true); }
protected override void RemoveWorkerRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (dgResults.SelectedItems.Count == 0 || dgResults.SelectedItem == null) { return; } OnReloading = true; var props = dgResults.SelectedItems.OfType <Prop>().ToList(); if (props.Count > 0) { var failed = false; var removedCount = 0; if (Global.DeleteQuestion(this)) { var progressResources = new ProgressWindow(props.Count); progressResources.Show(this); foreach (var prop in props) { string labName; if (PropsService.ReferencedToOther(prop.PropID, out labName)) { var temp = prop; if ( Global.ReferenceFound(this, string.Format(PropsResources.Referenced, new[] { temp.Name, temp.PropNo.ToString(), labName })) == MessageBoxResult.Yes) { if (!PropsService.Instanse.Remove(prop)) { failed = true; Global.DeletionFailed(this); } else { removedCount++; } } } else if (!PropsService.Instanse.Remove(prop)) { failed = true; Global.DeletionFailed(this); } else { removedCount++; } progressResources.IncreaseProgress(); } progressResources.Close(); if (props.Count > 1 && failed) { Global.DeletionSuceededWithSomeFailures(this); } else if (removedCount > 0 & !failed) { Global.DeletionSuceeded(this); } ResetFields(); TryToLoad(); } } OnReloading = false; }
private void TvZonesSelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { HideAll(); if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[0]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[1])) { cmbCategories.SelectedIndex = -1; cmbCategories.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[0]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[2])) { cmbNames.DisplayMemberPath = "Name"; cmbNames.SelectedValuePath = "PropID"; cmbNames.Tag = SearchResources.PropName; cmbNames.ItemsSource = PropsService.Instanse.GetAll(); cmbNames.SelectedIndex = -1; cmbNames.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[0]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[3])) { dtpInDate.Value = PropsService.GetMinCreatedOn(); dtpOutDate.Value = PropsService.GetMaxCreatedOn(); gDate.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[0]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[4])) { cmbInNo.ItemsSource = cmbOutNo.ItemsSource = PropsService.GetAllPropNos(); cmbInNo.SelectedIndex = 0; cmbOutNo.SelectedIndex = cmbOutNo.Items.Count - 1; gNo.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[0]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[5])) { cmbStatus.SelectedIndex = -1; cmbStatus.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[6]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[7])) { cmbCategories.SelectedIndex = -1; cmbCategories.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[6]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[8])) { cmbNames.DisplayMemberPath = "Name"; cmbNames.SelectedValuePath = "MaterialID"; cmbNames.Tag = SearchResources.MaterialName; cmbNames.ItemsSource = MaterialsService.Instanse.GetAll(); cmbNames.SelectedIndex = -1; cmbNames.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[6]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[9])) { dtpInDate.Value = MaterialsService.GetMinCreatedOn(); dtpOutDate.Value = MaterialsService.GetMaxCreatedOn(); gDate.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[6]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[10])) { tbInAmount.Text = MaterialsService.GetMinLowestAmount().ToString(); tbOutAmount.Text = MaterialsService.GetMaxLowestAmount().ToString(); gAmount.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[11]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[12])) { cmbNames.DisplayMemberPath = "UserName"; cmbNames.SelectedValuePath = "UserID"; cmbNames.Tag = SearchResources.UserName; cmbNames.ItemsSource = UsersService.Instanse.GetAll(false, false); cmbNames.SelectedIndex = -1; cmbNames.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[11]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[13])) { dtpInDate.Value = RepositoryMaterialsService.GetMinRegisteredOn(); dtpOutDate.Value = RepositoryMaterialsService.GetMaxRegisteredOn(); gDate.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[11]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[14])) { cmbTargetApplicants.ItemsSource = RepositoryMaterialsService.Instanse.GetAllTargetApplicants(false); cmbTargetApplicants.SelectedIndex = -1; cmbTargetApplicants.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[11]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[15])) { tbInAmount.Text = RepositoryMaterialsService.GetMinAmount().ToString(); tbOutAmount.Text = RepositoryMaterialsService.GetMaxAmount().ToString(); gAmount.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[16]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[17])) { cmbCategories.SelectedIndex = -1; cmbCategories.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[16]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[18])) { cmbNames.DisplayMemberPath = "Name"; cmbNames.SelectedValuePath = "ItemID"; cmbNames.Tag = SearchResources.InItemsByName; cmbNames.ItemsSource = ItemsService.Instanse.GetAll(); cmbNames.SelectedIndex = -1; cmbNames.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[16]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[19])) { dtpInDate.Value = ItemsService.GetMinCreatedOn(); dtpOutDate.Value = ItemsService.GetMaxCreatedOn(); gDate.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[16]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[20])) { tbInAmount.Text = ItemsService.GetMinLowestAmount().ToString(); tbOutAmount.Text = ItemsService.GetMaxLowestAmount().ToString(); gAmount.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[21]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[22])) { cmbNames.DisplayMemberPath = "UserName"; cmbNames.SelectedValuePath = "UserID"; cmbNames.Tag = SearchResources.UserName; cmbNames.ItemsSource = UsersService.Instanse.GetAll(false, false); cmbNames.SelectedIndex = -1; cmbNames.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[21]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[23])) { dtpInDate.Value = RepositoryItemsService.GetMinRegisteredOn(); dtpOutDate.Value = RepositoryItemsService.GetMaxRegisteredOn(); gDate.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[21]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[24])) { cmbTargetApplicants.ItemsSource = RepositoryItemsService.Instanse.GetAllTargetApplicants(false); cmbTargetApplicants.SelectedIndex = -1; cmbTargetApplicants.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[21]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[25])) { tbInAmount.Text = RepositoryItemsService.GetMinAmount().ToString(); tbOutAmount.Text = RepositoryItemsService.GetMaxAmount().ToString(); gAmount.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[26]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[27])) { cmbNames.DisplayMemberPath = "Name"; cmbNames.SelectedValuePath = "LabID"; cmbNames.Tag = SearchResources.InLabsByName; cmbNames.ItemsSource = LabsService.Instanse.GetAll(); cmbNames.SelectedIndex = -1; cmbNames.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[26]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[28])) { dtpInDate.Value = LabsService.GetMinCreatedOn(); dtpOutDate.Value = LabsService.GetMaxCreatedOn(); gDate.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[26]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[29])) { cmbInNo.ItemsSource = cmbOutNo.ItemsSource = LabsService.Instanse.GetAllPlaqueNos(); cmbInNo.SelectedIndex = 0; cmbOutNo.SelectedIndex = cmbOutNo.Items.Count - 1; gNo.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[30]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[31])) { cmbNames.DisplayMemberPath = "Name"; cmbNames.SelectedValuePath = "LabID"; cmbNames.Tag = SearchResources.InLabPropsByLabName; cmbNames.ItemsSource = LabsService.Instanse.GetAll(); cmbNames.SelectedIndex = -1; cmbNames.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[30]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[32])) { dtpInDate.Value = LabPropsService.GetMinAssignedOn(); dtpOutDate.Value = LabPropsService.GetMaxAssignedOn(); gDate.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[33]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[34])) { cmbNames.DisplayMemberPath = "UserName"; cmbNames.SelectedValuePath = "UserID"; cmbNames.Tag = SearchResources.InLogsByUserName; cmbNames.ItemsSource = UsersService.Instanse.GetAll(false, false); cmbNames.SelectedIndex = -1; cmbNames.Visibility = Visibility.Visible; } if (ReferenceEquals(e.NewValue, tvZones.ActualItems()[33]) || ReferenceEquals(e.NewValue, tvZones.ActualItems()[35])) { dtpInDate.Value = LogsService.GetMinLoggedOn(); dtpOutDate.Value = LogsService.GetMaxLoggedOn(); gDate.Visibility = Visibility.Visible; } }
protected override void OnStartup(StartupEventArgs e) { Current.DispatcherUnhandledException += OnDispatcherUnhandledException; base.OnStartup(e); if (!SingleInstance <App> .InitializeAsFirstInstance(PhoenixUniqueKey)) { Current.Shutdown(); return; } OriginResolution = new Rect { Width = SystemParameters.VirtualScreenWidth, Height = SystemParameters.VirtualScreenHeight }; if (Settings.Default.ResetPennding) { Settings.Default.Reset(); } if (Settings.Default.ModeIndex == -1) { Utils.UpdateScreenResolution(); } if (string.IsNullOrEmpty(Settings.Default.BackupPath)) { var executionPath = AppDomain.CurrentDomain.BaseDirectory; var backupPath = string.Format(@"{0}Backup", executionPath); Settings.Default.BackupPath = backupPath; Settings.Default.Save(); } if (!Directory.Exists(Settings.Default.BackupPath)) { Directory.CreateDirectory(Settings.Default.BackupPath, new DirectorySecurity(AppDomain.CurrentDomain.BaseDirectory, AccessControlSections.Owner)); } Utils.SetResolution(); Utils.EnsureCulture(); Utils.AddThemeBaseDictionaries(); try { DbContext.Init(); } catch (Exception ex) { Logger.Write(ex); MessageWindowHelpers.Show(null, SplashResources.DatabaseInitFailed, MessageBoxButton.OK, MessageBoxImage.Hand); Current.Shutdown(); return; } try { PropsService.Get(Guid.NewGuid()); } catch (Exception ex) { Logger.Write(ex); MessageWindowHelpers.Show(null, SplashResources.DatabaseTestFailed, MessageBoxButton.OK, MessageBoxImage.Hand); Current.Shutdown(); return; } try { var administratorRole = RolesService.Instanse.GetAdministrator(false); if (administratorRole == null) { RolesService.Instanse.CreateAdministrator(); } var systemUser = UsersService.Instanse.GetSystemUser(false); if (systemUser == null) { UsersService.Instanse.CreateSystemUser(); } } catch (Exception exception) { Logger.Write(exception); MessageWindowHelpers.Show(null, SplashResources.TestCheckIndeedRecordsFailed, MessageBoxButton.OK, MessageBoxImage.Hand); } }