Пример #1
0
        public async Task <Opportunity> AddSkillAsync(string oppId, Skill skill)
        {
            var opp = await GetOpportunityByIdAsync(oppId);

            if (opp.Skills == null)
            {
                opp.Skills = new List <Skill>();
            }
            opp.Skills.Add(skill);

            var summary = await _summaryService.GetSummaryAsync();

            var account = await _accountsService.GetAccountByIdAsync(opp.AccountId);

            account.TargetPositions = account.TargetPositions + 1;
            await _accountsService.UpdateAccountAsync(account);

            summary        = summary.AddAccount(account.Id, account.Description);
            summary        = summary.AddSkill(skill.Id, skill.Description);
            summary        = summary.IncreaseTarget(skill.Id, account.Id, 1);
            summary.Target = summary.Target + 1;
            await _summaryService.UpdateSummaryAsync(summary);

            await UpdateOpportunityAsync(opp);

            return(opp);
        }