Пример #1
0
        public void Handle(AddIssueTranslationCommand command)
        {
            var issue = _issueWithContentsQueryHandler.Handle(command.IssueId);

            foreach (var item in command.Contents)
            {
                var content = issue.Contents.FirstOrDefault(c => c.Locale == item.Locale);

                if (content != null && content.IsUpdated)
                {
                    continue;
                }

                if (content == null)
                {
                    content        = new IssueContent();
                    content.Issue  = issue;
                    content.Locale = item.Locale;
                    _issueContentRepository.Add(content);
                }

                content.IsUpdated   = true;
                content.Description = item.Description;
            }
        }
 public static IssueContentViewModel FromModel(IssueContent model)
 {
     return(new IssueContentViewModel
     {
         Id = model.Id,
         Description = model.Description,
         Locale = model.Locale
     });
 }
Пример #3
0
        private static IssueContent MapMetaToIssueContent(EpicMeta meta, IReadOnlyDictionary <string, string[]> map)
        {
            var content = new IssueContent
            {
                Fields =
                {
                    { "duedate", meta.DueDate?.ToString("yyyy-MM-dd") }
                }
            };

            var startDateField = map.TryGetValue("Start date", out var values) ? values.FirstOrDefault() : null;

            if (startDateField != null)
            {
                content.Fields[startDateField] = meta.StartDate?.ToString("yyyy-MM-dd");
            }
            return(content);
        }
Пример #4
0
 protected static string GetIssuseListNew(int beishu, int zhushu, string issueStr)
 {
     try
     {
         IssueContent content = new IssueContent();
         content.Amount           = beishu;
         content.IssuseTotalMoney = beishu * (zhushu * 2);
         content.IssuseNumber     = issueStr;
         List <IssueContent> issueList = new List <IssueContent>();
         issueList.Add(content);
         String str = JsonHelper.ObjectToJson(issueList).ToString();
         return(str);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     return(string.Empty);
 }
Пример #5
0
        public void Handle(UpdateIssueCommand command)
        {
            var issue = _issueWithContentsQueryHandler.Handle(command.IssueId);

            foreach (var content in issue.Contents)
            {
                if (command.Contents.Any(i => content.Locale == i.Locale))
                {
                    var item = command.Contents.FirstOrDefault(i => content.Locale == i.Locale);
                    content.IsUpdated   = true;
                    content.Description = item.Description;
                }
                else
                {
                    content.IsUpdated = false;
                }
            }

            foreach (var item in command.Contents)
            {
                if (issue.Contents.Any(p => p.Locale == item.Locale))
                {
                    continue;
                }

                var content = new IssueContent();
                content.Id          = issue.Id;
                content.IsUpdated   = true;
                content.Locale      = item.Locale;
                content.Description = item.Description;
                content.Issue       = issue;

                _issueContentRepository.Add(content);
            }

            issue.LastModification = DateTime.Now;
        }
Пример #6
0
        public void Handle(CreateIssueCommand command)
        {
            var creator = _currentUserRetriever.Get();

            var issue = new Issue();

            issue.Creator             = creator;
            issue.SpecificationItemId = command.SpecificationItemId.Value;
            issue.Id = Guid.NewGuid();

            foreach (var item in command.Contents)
            {
                var content = new IssueContent();
                content.Description = item.Description;
                content.Locale      = item.Locale;
                content.Issue       = issue;
                content.Id          = issue.Id;
                content.IsUpdated   = true;
                _issueContentRepository.Add(content);
            }

            issue.LastModification = DateTime.Now;

            var currentProjectId = _currentProjectContextId.Get();

            if (currentProjectId == null)
            {
                throw new Exception(Sentences.noProjectInContext);
            }

            issue.Identifier = _issueNextIdQueryHandler.Handle(currentProjectId);
            issue.ProjectId  = currentProjectId.Value;
            issue.Concluded  = false;
            issue.CreatedAt  = DateTime.Now;

            _issueRepository.Add(issue);
        }
 private static bool AreFieldsEqual(IssueContent c, IDictionary <string, string> expectedFields)
 {
     c.Fields.ShouldBe(expectedFields, ignoreOrder: true);
     return(true);
 }