示例#1
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is DateTime dateTime && parameter is string param)
            {
                try
                {
                    switch (param.ToLower())
                    {
                    case "date":
                        return(dateTime.ToString("d", new CultureInfo(GlobalizationPreferences.Languages[0].ToString())));

                    case "time":
                        return(dateTime.ToString("t", new CultureInfo(GlobalizationPreferences.Languages[0].ToString())));

                    default:
                        LogService.AddLogMessage("Parameter is wrong: " + param);
                        return("err");
                    }
                }
                catch (Exception e)
                {
                    LogService.AddLogMessage($"ExtractDateTimeInfoConverter: {e.Message}");
                    return((DateTime)value);
                }
            }

            LogService.AddLogMessage($"ExtractDateTimeInfoConverter: Value or parameter is wrong: Value: {value.ToString()}; Parameter: {parameter.ToString()}");
            return("err");
        }
示例#2
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is ObservableCollection <DateTime> dateCollection && parameter is string param)
            {
                switch (param.ToLower())
                {
                case "flyout":
                    return(dateCollection.Contains(DateTime.Today) ? new SolidColorBrush(Color.FromArgb(187, 93, 93, 93)) : new SolidColorBrush(Color.FromArgb(0, 93, 93, 93)));

                case "symbol":
                case "icon":
                    return(dateCollection.Contains(DateTime.Today) ? Symbol.Clear : Symbol.Accept);

                case "text":
                    return(dateCollection.Contains(DateTime.Today) ? "Uncomplete" : "Complete");

                case "slider":
                    return(dateCollection.Contains(DateTime.Today) ? new SolidColorBrush(Color.FromArgb(96, 247, 27, 17)) : new SolidColorBrush(Color.FromArgb(97, 2, 199, 2)));

                default:
                    LogService.AddLogMessage("Parameter is wrong: " + param);
                    return("err");
                }
            }

            LogService.AddLogMessage($"CompletedTodayConverter: Value or parameter is wrong: Value: {value.ToString()}; Parameter: {parameter.ToString()}");
            return("err");
        }
示例#3
0
        /// <summary>
        /// Save data to file
        /// </summary>
        /// <param name="Attempts">Number of attempts</param>
        /// <returns>True, if save was succesful</returns>
        protected async Task <bool> SaveFileAsync <T>(List <T> itemsToSave, string tableName, int Attempts = 0) where T : AtomicItem
        {
            try
            {
                string typeOfItem = nameof(T);

                ItemStorage <T> itemStorage = new ItemStorage <T>
                {
                    Items      = itemsToSave,
                    TypeOfItem = typeOfItem
                };

                XmlSerializer serializer = new XmlSerializer(typeof(ItemStorage <T>));

                using (Stream xmlStream = File.Create($@"{connectionsString}\{tableName}.xml"))
                {
                    serializer.Serialize(xmlStream, itemStorage);
                }

                return(true);
            }

            // When file is unavailable
            catch (Exception e) when(e.Message.Contains("is in use") && Attempts < 10)
            {
                LogService.AddLogMessage("File is in use\n\n" + e.Message);
                return(await SaveFileAsync(itemsToSave, tableName, Attempts + 1));
            }

            catch (Exception e)
            {
                throw new Base.Exceptions.Exception("Unhandled exception", e);
            }
        }
示例#4
0
 /// <inheritdoc/>
 public override bool CheckConnectionString(string connectionString)
 {
     try
     {
         Path.GetFullPath(connectionString + @"\test.xml");
         return(true);
     }
     catch (Exception ex)
     {
         LogService.AddLogMessage(ex.Message);
         return(false);
     }
 }
        /// <summary>
        /// Notify all linked places about changed property
        /// </summary>
        /// <param name="parentObjectType">Parent object</param>
        /// <param name="value">Changed value</param>
        /// <param name="propertyName">Property name</param>
        public static void NotifyPropertyChanged(Type parentObjectType, object value, [CallerMemberName] string propertyName = "")
        {
            LogService.AddLogMessage("PropertyName: " + propertyName);

            var messenger = ApplicationBase.Current.VMLocator.GetMessenger();

            messenger.Send(new PropertyChangedMsg()
            {
                PropertyName             = propertyName,
                PropertyValue            = value,
                PropertyParentObjectType = parentObjectType
            });
        }
示例#6
0
 /// <inheritdoc/>
 public override bool CheckConnectionString(string connectionString)
 {
     try
     {
         SqlConnection testConnection = new SqlConnection(connectionString);
         testConnection.Open();
         return(testConnection.State != System.Data.ConnectionState.Broken);
     }
     catch (Exception ex)
     {
         LogService.AddLogMessage(ex.Message);
         return(false);
     }
 }
示例#7
0
 /// <summary>
 /// Dismiss the notification
 /// </summary>
 public void Dismiss()
 {
     try
     {
         if (Visibility == Visibility.Visible)
         {
             VisualStateManager.GoToState(this, StateContentCollapsed, true);
             Dismissed?.Invoke(this, System.EventArgs.Empty);
         }
     }
     catch (Exception e)
     {
         LogService.AddLogMessage(e.Message);
         throw new Base.Exceptions.Exception("Unhandled exception", e);
     }
 }
示例#8
0
        //Insp -> vlastni typ pripony
        /// <inheritdoc/>
        public override void Execute(object parameter)
        {
            if (parameter is ListViewBase itemList)
            {
                if (itemList.Items.Count == 0)
                {
                    return;
                }

                string itemTypeName = itemList.Items[0].GetType().Name;

                var sharedData = new ItemStorage <T>
                {
                    TypeOfItem = itemTypeName
                };

                foreach (var item in new List <T>(itemList.SelectedItems.Cast <T>().Select(x => (T)x.Clone()).ToList()))
                {
                    T itemToShare = item;

                    if (itemToShare.Secured)
                    {
                        itemToShare.Name        = Crypting.Encrypt(itemToShare.Name);
                        itemToShare.Description = Crypting.Encrypt(itemToShare.Description);
                    }

                    sharedData.Items.Add(item);
                }

                try
                {
                    XmlSerializer serializer = new XmlSerializer(typeof(ItemStorage <T>));

                    using Stream xmlStream = ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync("Share.isuf", CreationCollisionOption.ReplaceExisting).GetAwaiter().GetResult();
                    serializer.Serialize(xmlStream, sharedData);
                }
                catch (Exception e)
                {
                    LogService.AddLogMessage(e.Message, logLevel: Base.Enum.LogLevel.Debug);
                    throw new Base.Exceptions.Exception("Unhandled exception", e);
                }

                DataTransferManager.ShowShareUI();
            }
        }
示例#9
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is string text && parameter is string param)
            {
                switch (language.ToLower())
                {
                case "reverse":
                    return(param + " " + text);

                case "normal":
                default:
                    return(text + " " + param);
                }
            }

            LogService.AddLogMessage($"StringConcatConverter: Value or parameter is wrong: Value: {value.ToString()}; Parameter: {language.ToString()}");
            return("err");
        }
示例#10
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is int intValue && parameter is string param)
            {
                switch (param.ToLower())
                {
                case "visibility":
                    return(intValue == -1 ? Visibility.Visible : Visibility.Collapsed);

                case "text":
                    return(intValue == -1 ? "Add" : "Edit");

                default:
                    LogService.AddLogMessage("Parameter is wrong: " + param);
                    return("err");
                }
            }

            LogService.AddLogMessage($"IdConverter: Value or parameter is wrong: Value: {value.ToString()}; Parameter: {parameter.ToString()}");
            return("err");
        }
示例#11
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is bool boolValue && parameter is string param)
            {
                switch (param.ToLower())
                {
                case "icon":
                case "symbol":
                    return(boolValue ? new SymbolIcon(Symbol.UnPin) : new SymbolIcon(Symbol.Pin));

                case "text":
                    return(boolValue ? "Unpin from Start" : "Pin to Start");

                default:
                    LogService.AddLogMessage("Parameter is wrong: " + param);
                    return("err");
                }
            }

            LogService.AddLogMessage($"SecondaryTileExistConverter: Value or parameter is wrong: Value: {value.ToString()}; Parameter: {parameter?.ToString()}");
            return("err");
        }
示例#12
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if (value is GridLength lengthValue && parameter is string param)
            {
                switch (param.ToLower())
                {
                case "symbol":
                case "icon":
                    return(lengthValue == new GridLength(0) ? new SymbolIcon(Symbol.ClosePane) : new SymbolIcon(Symbol.OpenPane));

                case "text":
                    return(lengthValue == new GridLength(0) ? "Open Pane" : "Close Pane");

                default:
                    LogService.AddLogMessage("Parameter is wrong: " + param);
                    return("err");
                }
            }

            LogService.AddLogMessage($"SlavePaneVisibilityConverter: Value or parameter is wrong: Value: {value.ToString()}; Parameter: {parameter.ToString()}");
            return("err");
        }
示例#13
0
        /// <summary>
        /// Read data from file
        /// </summary>
        /// <param name="Attempts">Number of attempts</param>
        /// <returns>Collection of items of type T</returns>
        protected async Task <List <T> > ReadFileAsync <T>(string tableName, int Attempts = 0) where T : AtomicItem
        {
            try
            {
                XmlSerializer serializer = new XmlSerializer(typeof(ItemStorage <T>));

                object readedObjects;
                using (Stream xmlStream = File.Open($@"{connectionsString}\{tableName}.xml", FileMode.OpenOrCreate))
                {
                    if (xmlStream.Length == 0)
                    {
                        return(new List <T>());
                    }

                    readedObjects = (ItemStorage <T>)serializer.Deserialize(xmlStream);
                }

                if (readedObjects != null)
                {
                    return(((ItemStorage <T>)readedObjects).Items);
                }

                return(new List <T>());
            }

            // When is file unavailable - 10 attempts is enough
            catch (Exception e) when(e.Message.Contains("is in use") && Attempts < 10)
            {
                LogService.AddLogMessage("File is in use\n\n" + e.Message);
                return(await ReadFileAsync <T>(tableName, Attempts + 1));
            }

            catch (Exception e)
            {
                throw new Base.Exceptions.Exception("Unhandled exception", e);
            }
        }
示例#14
0
 public Exception()
 {
     LogService.AddLogMessage("General framework exception");
 }
示例#15
0
 /// <summary>
 /// Function for change security event
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected virtual void CustomSettings_UserLogChanged(object sender, UserLoggedEventArgs e)
 {
     LogService.AddLogMessage($"User secure settings has changed. Log called from {GetType()}.");
 }
示例#16
0
 public Exception(string message) : base(message)
 {
     LogService.AddLogMessage("Framework exception, message: " + message);
 }
示例#17
0
 public Exception(string message, System.Exception innerException) : base(message, innerException)
 {
     LogService.AddLogMessage("Framework exception, message: " + message);
 }
 protected NotImplementedException(SerializationInfo info, StreamingContext context) : base(info, context)
 {
     LogService.AddLogMessage("Framework Not implemented exception");
 }
 public NotImplementedException(string message, System.Exception inner) : base(message, inner)
 {
     LogService.AddLogMessage("Framework Not implemented exception, message: " + message);
 }
 public NotImplementedException()
 {
     LogService.AddLogMessage("Framework Not implemented exception");
 }
示例#21
0
        /// <summary>
        /// Share item via Share menu
        /// </summary>
        /// <param name="obj">Shared item</param>
        public async void ShareItemAsync(T item)
        {
            DataTransferManager daTranManaItem = DataTransferManager.GetForCurrentView();

            daTranManaItem.DataRequested += DaTranManaItem_DataRequested;

            string itemTypeName = item.GetType().Name;

            if (item == null)
            {
                return;
            }

            CurrentItem = item;

            // To-Do solve
            //var typeOfItemList = System.Enum.GetValues(typeof(ItemTypeEnum)).Cast<ItemTypeEnum>().ToList();

            var clone = (T)item.Clone();

            if (item.Secured)
            {
                clone.Name        = Crypting.Encrypt(item.Name);
                clone.Description = Crypting.Encrypt(item.Description);
            }

            var sharedData = new ItemStorage <T>
            {
                // To-Do solve
                //TypeOfItem = typeOfItemList[typeOfItemList.IndexOf(typeOfItemList.FirstOrDefault(x => x.ToString() == itemTypeName))],
                TypeOfItem = itemTypeName,
                Items      = new List <T>()
                {
                    clone
                }
            };

            try
            {
                XmlSerializer Serializ = new XmlSerializer(typeof(ItemStorage <T>));

                using (Stream XmlStream = ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync(ShareFileItem, CreationCollisionOption.ReplaceExisting).GetAwaiter().GetResult())
                {
                    Serializ.Serialize(XmlStream, sharedData);
                }
            }
            catch (Exception e)
            {
                LogService.AddLogMessage(e.Message);
                throw new Base.Exceptions.Exception("Unhandled exception", e);
            }

            var shareFile = await ApplicationData.Current.LocalFolder.GetFileAsync(ShareFileItem);

            shareFileList = new List <StorageFile>
            {
                shareFile
            };

            DataTransferManager.ShowShareUI();
        }
示例#22
0
 protected Exception(SerializationInfo info, StreamingContext context) : base(info, context)
 {
     LogService.AddLogMessage("General framework exception");
 }