Example #1
0
        private int ComputeHashcode(ProjectViewModel viewModel)
        {
            int hash = 23;
            hash = hash * 31 + viewModel.Id.GetHashCode();
            hash = hash * 31 + viewModel.Name.GetHashCode();
            hash = hash * 31 + (viewModel.Reference == null ? 0 : viewModel.Reference.GetHashCode());
            hash = hash * 31 + (viewModel.Comment == null ? 0 : viewModel.Comment.GetHashCode());
            hash = hash * 31 + viewModel.StartDate.GetHashCode();
            hash = hash * 31 + viewModel.EndDate.GetHashCode();

            foreach(var item in viewModel.Tasks.OrderBy(x => x.Id))
            {
                int tasksHash = 23;
                tasksHash = tasksHash * 31 + item.Id.GetHashCode();
                tasksHash = tasksHash * 31 + item.DayRate.GetHashCode();
                tasksHash = tasksHash * 31 + item.NightRate.GetHashCode();
                tasksHash = tasksHash * 31 + item.LongNightRate.GetHashCode();
                tasksHash = tasksHash * 31 + item.ShortNightRate.GetHashCode();

                hash = hash * 31 + tasksHash;
            }

            foreach (var item in viewModel.OtherBenefits.OrderBy(x => x.Id))
            {
                int otherBenefitsHash = 23;
                otherBenefitsHash = otherBenefitsHash * 31 + item.Id.GetHashCode();
                otherBenefitsHash = otherBenefitsHash * 31 + item.Name.GetHashCode();
                otherBenefitsHash = otherBenefitsHash * 31 + item.Hours.GetHashCode();
                otherBenefitsHash = otherBenefitsHash * 31 + item.CostRate.GetHashCode();

                hash = hash * 31 + otherBenefitsHash;
            }

            return hash;
        }
 public void SetProjectViewModel(ProjectViewModel viewModel)
 {
 }