Exemplo n.º 1
0
        private CostLineItem GetOrCreateCostLineItem(CostStageRevision costStageRevision, Guid userId, CostLineItemSectionTemplateModel section,
                                                     CostLineItemSectionTemplateItemModel item)
        {
            if (costStageRevision.CostLineItems == null)
            {
                costStageRevision.CostLineItems = new List <CostLineItem>();
            }

            foreach (var cli in costStageRevision.CostLineItems)
            {
                if (cli.Name == item.Name &&
                    cli.CostLineItemSectionTemplate?.Name == section.Name)
                {
                    return(cli);
                }
            }

            //Create new
            var costLineItem = new CostLineItem
            {
                CostStageRevision = costStageRevision,
                Id = Guid.NewGuid(),
                LocalCurrencyId   = Guid.Empty,
                Name              = item.Name,
                TemplateSectionId = section.Id
            };

            costStageRevision.CostLineItems.Add(costLineItem);
            costLineItem.SetCreatedNow(userId);
            return(costLineItem);
        }