Ejemplo n.º 1
0
 /// <inheritdoc />
 internal Case(CaseType type, CaseFolder caseFolder) : base(Guid.NewGuid())
 {
     Type       = type;
     Created    = DateTime.UtcNow;
     Updated    = DateTime.UtcNow;
     CaseFolder = caseFolder;
     Status     = type.StatusStrategy.GetStatusDefault();
     CaseUsers  = new List <CaseUser>();
     caseFolder.Reopen();
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Создание и добавление новой карточки в Folder
        /// Case добавляется только в случае, если такого типа еще нет среди существующих Case
        /// </summary>
        /// <param name="caseType"></param>
        /// <param name="userId"></param>
        public Result <Guid> AddCaseCard(CaseType caseType, Guid userId)
        {
            var oldCaseCard = Cases.FirstOrDefault(x => x.Type.Id == caseType.Id);

            if (oldCaseCard != null)
            {
                oldCaseCard.AddToUser(userId);
                return(Result.Success(oldCaseCard.Id));
            }

            var caseCard = new Case(caseType, this);

            Cases.Add(caseCard);
            caseCard.AddToUser(userId);

            return(Result.Success(caseCard.Id));
        }