Exemple #1
0
 /// <summary>
 /// Constructor for building a new simple object with the POCO class
 /// </summary>
 public EvaluationCriteriaValueSimple(EvaluationCriteriaValue evaluationCriteriaValue) : this()
 {
     EvaluationCriteriaValueID          = evaluationCriteriaValue.EvaluationCriteriaValueID;
     EvaluationCriteriaID               = evaluationCriteriaValue.EvaluationCriteriaID;
     EvaluationCriteriaValueRating      = evaluationCriteriaValue.EvaluationCriteriaValueRating;
     EvaluationCriteriaValueDescription = evaluationCriteriaValue.EvaluationCriteriaValueDescription;
     SortOrder            = evaluationCriteriaValue.SortOrder;
     HasAssociatedActuals = evaluationCriteriaValue.HasDependentObjects();
 }
        public void UpdateModel(EvaluationCriteria evaluationCriteria)
        {
            evaluationCriteria.EvaluationCriteriaName       = EvaluationCriteriaName;
            evaluationCriteria.EvaluationCriteriaDefinition = EvaluationCriteriaDefinition;
            var updatedEvaluationCriteriaValues = new List <EvaluationCriteriaValue>();

            foreach (var simpleValue in EvaluationCriteriaValueSimples)
            {
                var evaluationCriteriaValue = HttpRequestStorage.DatabaseEntities.EvaluationCriteriaValues.SingleOrDefault(x => x.EvaluationCriteriaValueID == simpleValue.EvaluationCriteriaValueID);
                if (evaluationCriteriaValue == null)
                {
                    evaluationCriteriaValue = new EvaluationCriteriaValue(evaluationCriteria, simpleValue.EvaluationCriteriaValueRating, simpleValue.EvaluationCriteriaValueDescription)
                    {
                        SortOrder = simpleValue.SortOrder
                    };
                }
                else
                {
                    evaluationCriteriaValue.EvaluationCriteriaValueDescription = simpleValue.EvaluationCriteriaValueDescription;
                    evaluationCriteriaValue.EvaluationCriteriaValueRating      = simpleValue.EvaluationCriteriaValueRating;
                    evaluationCriteriaValue.SortOrder = simpleValue.SortOrder;
                }

                updatedEvaluationCriteriaValues.Add(evaluationCriteriaValue);
            }

            var allEvaluationCriteriaValuesFromDatabase = HttpRequestStorage.DatabaseEntities.AllEvaluationCriteriaValues.Local;


            evaluationCriteria.EvaluationCriteriaValues.Merge(
                updatedEvaluationCriteriaValues,
                allEvaluationCriteriaValuesFromDatabase,
                (x, y) => x.EvaluationCriteriaValueID == y.EvaluationCriteriaValueID,
                (x, y) =>
            {
                x.EvaluationCriteriaValueRating      = y.EvaluationCriteriaValueRating;
                x.EvaluationCriteriaValueDescription = x.EvaluationCriteriaValueDescription;
                x.SortOrder = y.SortOrder;
            }, HttpRequestStorage.DatabaseEntities);
        }