Example #1
0
        private string GetRuleText(DRule rule)
        {
            switch (rule.ChangeType)
            {
            case ChangeType.Create:
                return("Создан");

            case ChangeType.Delete:
                return("Удален");

            case ChangeType.Update:
                return("Изменен");
            }

            return("");
        }
Example #2
0
        public void PrintChangeDetails(IEnumerable <DChangesetData> changes, DRule rule, NotifyResult result)
        {
            result.Result = new List <string>();

            foreach (var dChangesetData in changes)
            {
                foreach (var change in dChangesetData.Changes)
                {
                    var name = "";
                    if (!change.New.ActualFileSnapshot.Files.Any())
                    {
                        var type = _types.First(x => x.Id == change.New.TypeId);
                        if (type.IsTaskType())
                        {
                            var attrs = type.Attributes.Where(x => x.ShowInTree).OrderBy(y => y.DisplaySortOrder);
                            foreach (var mAttribute in attrs)
                            {
                                DValue value;
                                change.New.Attributes.TryGetValue(mAttribute.Name, out value);
                                if (value != null)
                                {
                                    name += " " + value.StrValue;
                                }
                            }
                        }


                        //if (change.New.Attributes.ContainsKey(SystemAttributes.PROJECT_ITEM_NAME))
                        //{
                        //    name = change.New.Attributes[SystemAttributes.PROJECT_ITEM_NAME];
                        //    result.Result.Add(name);
                        //}
                    }

                    /*if (change.New.Attributes.ContainsKey(SystemAttributes.TASK_STATE))
                     * {
                     *  name = change.New.Attributes[SystemAttributes.TASK_STATE];
                     *  result.Result.Add(GetRuleText(rule) + " файл " + name);
                     * }
                     * else
                     * {
                     *  if (!change.New.ActualFileSnapshot.Files.Any())
                     *      continue;
                     *
                     *  var type = _types.First(x => x.Id == change.New.TypeId);
                     *  var attrs = type.Attributes.Where(x => x.ShowInTree).OrderBy(y => y.DisplaySortOrder);
                     *  foreach (var mAttribute in attrs)
                     *  {
                     *      DValue value;
                     *      change.New.Attributes.TryGetValue(mAttribute.Name, out value);
                     *      if (value != null)
                     *          name += " " + value.StrValue;
                     *  }
                     *
                     *  if (change.Old == null)
                     *  {
                     *      result.Result.Add(GetRuleText(rule) + " документ " + name);
                     *  }
                     *  else
                     *  {
                     *      result.Result.Add(GetRuleText(rule) + " а версия документа " + name);
                     *  }
                     * }*/
                }
            }
        }