コード例 #1
0
        /// <summary>
        /// Executes the command
        /// </summary>
        /// <param name="parameter">
        /// Command parameter
        /// </param>
        public override void Execute(object parameter)
        {
            Core.Logger.GetLogger.LogAsync(Core.LogMode.Debug, $"Exetute {nameof(AskCommand)}");

            // check if fields are empty
            if (!askQuestionViewModel.IsDataValid())
            {
                return;
            }
            Core.Logger.GetLogger.LogAsync(Core.LogMode.Debug, $"All validation has been passed succesfuly");


            // send message
            DataAccess.Entities.Message message = new DataAccess.Entities.Message
            {
                Subject = askQuestionViewModel.Subjects[askQuestionViewModel.SelectedSubjectIndex],
                Text    = askQuestionViewModel.Message,
                User    = askQuestionViewModel.DataStorage.LoggedUser,
            };
            Core.Logger.GetLogger.LogAsync(Core.LogMode.Info, $"Create new message with: Subject: {message.Subject.Name}, Message Length: {message.Text.Length}, Message: {message.Text}, User NickName: {message.User.NickName}, Date: {message.Date}");

            askQuestionViewModel.UnitOfWork.MessageRepository.Insert(message);
            askQuestionViewModel.UnitOfWork.Save();
            Core.Logger.GetLogger.LogAsync(Core.LogMode.Debug, "Save message to DataBase");

            // reset message text, subject stay the same
            askQuestionViewModel.ResetFields();

            // notify user about succesful message sending
            Core.Logger.GetLogger.LogAsync(Core.LogMode.Debug, "Notify user about succesful message sending");
            askQuestionViewModel.WindowManager.ShowMessageWindow(Core.Messages.Info.ViewModel.MESSAGE_SENT);
        }
コード例 #2
0
ファイル: AllViewModel.cs プロジェクト: Lenkelheit/Coursework
        // METHODS
        /// <summary>
        /// Sets filter predicate
        /// </summary>
        /// <param name="entity">
        /// The entities for which predicate is applied
        /// </param>
        /// <returns>
        /// Boolean values which determines if entity is allowed by predicate or not
        /// </returns>
        protected override bool FilterPredicate(object entity)
        {
            DataAccess.Entities.Message messageToFilter = (DataAccess.Entities.Message)entity;
            bool isShown = true;

            // checks subject
            if (subjectIndex != Core.Configuration.Constants.WRONG_INDEX)
            {
                isShown &= Where(messageToFilter, subjects[subjectIndex]);
            }

            // checks date
            isShown &= Where(messageToFilter, from, to);

            return(isShown);
        }
コード例 #3
0
        // CONSTRUCTORS
        /// <summary>
        /// Initialize a new instance of <see cref="SingleViewModel"/>
        /// </summary>
        /// <param name="message">
        /// An instance of <see cref="DataAccess.Entities.Message"/> that should be displayed
        /// </param>
        public SingleViewModel(DataAccess.Entities.Message message) : base(message, false)
        {
            this.message = message;

            deleteCommand = new Commands.Admin.DeleteCommand();
        }