コード例 #1
0
        public async Task EditInstallation(ModelViewInstallation modelView)
        {
            Installation installation = null;

            try
            {
                Etablissement etablissement = await this.GetEtablissementByUser();

                if (etablissement.Installation != null && etablissement.Installation.Id == modelView.Id)
                {
                    installation = await _context.Installations
                                   .Include(i => i.Production)
                                   .Include(i => i.Diagnostiques)
                                   .Include(i => i.CalorifugeageEcs)
                                   .Include(i => i.CalorifugeageEf)
                                   .Include(i => i.InstallationMateriaus)
                                   .FirstOrDefaultAsync(i => i.Id == etablissement.Installation.Id);

                    installation.Interconnexion_Existance      = modelView.Interconnexion_Existance;
                    installation.InterconnexionType            = modelView.InterconnexionType;
                    installation.DispositifProtectionRetourEau = modelView.DispositifProtectionRetourEau;

                    List <TypeCalorifugeage> typeCalorifugeages = await _dataPoco.GetTypeCalorifugeage();

                    TypeCalorifugeage typeCalorifugeageEfs = typeCalorifugeages.Where(c => c.Id == modelView.CalorifugeageEfId).FirstOrDefault();
                    TypeCalorifugeage typeCalorifugeageEcs = typeCalorifugeages.Where(c => c.Id == modelView.CalorifugeageEcsId).FirstOrDefault();

                    installation.CalorifugeageEcs = typeCalorifugeageEcs;
                    installation.CalorifugeageEf  = typeCalorifugeageEfs;

                    InstallationMateriau        installationMateiau = null;
                    List <InstallationMateriau> mesMateriaux        = new List <InstallationMateriau>();

                    foreach (int materiauId in modelView.Materiaux)
                    {
                        installationMateiau = new InstallationMateriau
                        {
                            MateriauId     = materiauId,
                            InstallationId = installation.Id
                        };

                        mesMateriaux.Add(installationMateiau);
                    }

                    installation.InstallationMateriaus = mesMateriaux;


                    _context.Update(installation);
                    await _context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #2
0
        public async Task CreateInstallation(ModelViewInstallation modelView)
        {
            Installation installation = null;

            try
            {
                Etablissement etablissement = await this.GetEtablissementByUser();

                if (etablissement.Installation == null)
                {
                    installation = new Installation()
                    {
                        Interconnexion_Existance      = modelView.Interconnexion_Existance,
                        InterconnexionType            = modelView.InterconnexionType,
                        DispositifProtectionRetourEau = modelView.DispositifProtectionRetourEau
                    };
                    List <TypeCalorifugeage> typeCalorifugeages = await _dataPoco.GetTypeCalorifugeage();

                    TypeCalorifugeage typeCalorifugeageEfs = typeCalorifugeages.Where(c => c.Id == modelView.CalorifugeageEfId).FirstOrDefault();
                    TypeCalorifugeage typeCalorifugeageEcs = typeCalorifugeages.Where(c => c.Id == modelView.CalorifugeageEcsId).FirstOrDefault();

                    installation.CalorifugeageEcs = typeCalorifugeageEcs;
                    installation.CalorifugeageEf  = typeCalorifugeageEfs;
                    _context.Add(installation);
                    await _context.SaveChangesAsync();

                    List <InstallationMateriau> installationMateriaux = new List <InstallationMateriau>();
                    InstallationMateriau        installationMateriau;

                    foreach (int materiauId in modelView.Materiaux)
                    {
                        installationMateriau = new InstallationMateriau
                        {
                            MateriauId     = materiauId,
                            InstallationId = installation.Id
                        };

                        installationMateriaux.Add(installationMateriau);
                    }
                    installation.InstallationMateriaus = installationMateriaux;
                    etablissement.Installation         = installation;
                    _context.Update(etablissement);
                    await _context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }