Пример #1
0
    static void Main()
    {
        Report a = new Report {
            Id = 1, ProjectId = 13
        },
               b = new Report {
            Id = 1, ProjectId = 13
        },
               c = new Report {
            Id = 1, ProjectId = 12
        };

        Console.WriteLine(PropertyCompare.Equal(a, b));
        Console.WriteLine(PropertyCompare.Equal(a, c));
    }
Пример #2
0
        public bool AddIfHasChangePolitico(dynamic registroImportacao, Politico actualPolitico)
        {
            var politico  = (Politico)_mapper.Map <Politico>(registroImportacao);
            var hasChange = !PropertyCompare.Equal(politico, actualPolitico,
                                                   nameof(politico.Id),
                                                   nameof(politico.ImportacaoId),
                                                   nameof(politico.Importacao));

            if (hasChange)
            {
                actualPolitico = _mapper.Map <Politico, Politico>(politico, actualPolitico);
                actualPolitico.SetImportacao(this);
                _politicos.Add(actualPolitico);
                AddDomainEvent(new PoliticoChangedDomainEvent(actualPolitico));
            }
            return(hasChange);
        }
Пример #3
0
        public bool RenewalStorageGroupZones(List <StorageGroupsByZonesDTO> storageGroupZones)
        {
            bool result;

            var dbSideRusult = mapper.Map <IEnumerable <StorageGroupZones>, List <StorageGroupZonesDTO> >(StorageGroupZones.GetAll());

            var linqSideRusult = storageGroupZones.Select(s => new StorageGroupZonesDTO
            {
                StorageGroupZoneId = s.StorageGroupZoneId ?? 0,
                StorageGroupId     = s.StorageGroupId,
                ZoneNameId         = s.ZoneNameId ?? 0
            }).ToList();

            var ids = dbSideRusult.Select(s => s.StorageGroupZoneId)
                      .Union(linqSideRusult.Select(s => s.StorageGroupZoneId));

            var fullResult = (from i in ids
                              join db in dbSideRusult on i equals db.StorageGroupZoneId into j_db
                              from db in j_db.DefaultIfEmpty()
                              join linq in linqSideRusult on i equals linq.StorageGroupZoneId into j_linq
                              from linq in j_linq.DefaultIfEmpty()
                              select new { db, linq })
                             .ToList();

            string caseStr;
            int    storageGroupZoneId = 0;

            try
            {
                for (int i = 0; i < fullResult.Count(); i++)
                {
                    caseStr = (fullResult[i].db == null) ? "add" :
                              (fullResult[i].linq == null) ? "delete" :
                              (!PropertyCompare.Equal <StorageGroupZonesDTO>(fullResult[i].db, fullResult[i].linq)) ? "update" : "";

                    switch (caseStr)
                    {
                    case "add":
                    {
                        StorageGroupZones.Create(mapper.Map <StorageGroupZones>(fullResult[i].linq));
                    }
                    break;

                    case "update":
                    {
                        storageGroupZoneId = fullResult[i].linq.StorageGroupZoneId;
                        var eGroup = StorageGroupZones.GetAll().SingleOrDefault(c => c.StorageGroupZoneId == storageGroupZoneId);

                        StorageGroupZones.Update((mapper.Map <StorageGroupZonesDTO, StorageGroupZones>(fullResult[i].linq, eGroup)));
                    }
                    break;

                    case "delete":
                    {
                        storageGroupZoneId = fullResult[i].db.StorageGroupZoneId;
                        StorageGroupZones.Delete(StorageGroupZones.GetAll().FirstOrDefault(c => c.StorageGroupZoneId == storageGroupZoneId));
                    }
                    break;
                    }
                }

                result = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Действие отменено.\n" + ex.Message, "Сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information);
                result = false;
            }

            return(result);
        }