/// <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(); }
/// <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)); }