Exemple #1
0
        public ProcessoModel CreaProcessoModel(decimal idProcesso, List <TelaioModel> telai)
        {
            ArticoloDS.PROCESSIRow processo = _ds.PROCESSI.Where(x => x.IDPROCESSO == idProcesso).FirstOrDefault();
            if (processo == null)
            {
                using (ArticoloBusiness bArticolo = new ArticoloBusiness())
                {
                    bArticolo.GetProcesso(_ds, idProcesso, false);
                    bArticolo.GetFasiProcesso(_ds, idProcesso, false);
                }
                processo = _ds.PROCESSI.Where(x => x.IDPROCESSO == idProcesso).FirstOrDefault();
                if (processo == null)
                {
                    return(null);
                }
            }

            ProcessoModel processoModel = new ProcessoModel();

            processoModel.Descrizione = processo.DESCRIZIONE;
            processoModel.IdArticolo  = processo.IDARTICOLO;
            processoModel.IdProcesso  = processo.IDPROCESSO;
            TelaioModel telaio = telai.Where(x => x.IdTelaio == ElementiVuoti.TelaioVuoto).FirstOrDefault();

            if (!processo.IsIDTELAIONull())
            {
                telaio = telai.Where(x => x.IdTelaio == processo.IDTELAIO).FirstOrDefault();
            }
            processoModel.Telaio = telaio;

            processoModel.Standard = processo.IsSTANDARDNull() ? false : processo.STANDARD == SiNo.Si;

            if (!processo.IsIDCOLORENull())
            {
                Anagrafica a = new Anagrafica();
                processoModel.Colore = a.EstraiColoreModel(processo.IDCOLORE);
            }
            else
            {
                processoModel.Colore = new ColoreModel();
            }

            List <ImpiantoModel> impianti = _galvanica.CreaListaImpiantoModel();

            processoModel.Impianto = impianti.Where(x => x.IdImpianto == processo.IDIMPIANTO).FirstOrDefault();

            List <VascaModel> vasche = _galvanica.CreaListaVascaModel();

            processoModel.Fasi = new List <FaseProcessoModel>();

            foreach (ArticoloDS.FASIPROCESSORow fase in _ds.FASIPROCESSO.Where(x => x.IDPROCESSO == idProcesso))
            {
                FaseProcessoModel faseProcessoModel = new FaseProcessoModel()
                {
                    Corrente         = fase.CORRENTE,
                    Durata           = fase.DURATA,
                    IdFaseProcesso   = fase.IDFASEPROCESSO,
                    IdProcesso       = fase.IDPROCESSO,
                    Sequenza         = fase.SEQUENZA,
                    Vasca            = vasche.Where(x => x.IdVasca == fase.IDVASCA).FirstOrDefault(),
                    SpessoreMassimo  = fase.IsSPESSOREMASSIMONull() ? 0 : fase.SPESSOREMASSIMO,
                    SpessoreMinimo   = fase.IsSPESSOREMINIMONull() ? 0 : fase.SPESSOREMINIMO,
                    SpessoreNominale = fase.IsSPESSORENOMINALENull() ? 0 : fase.SPESSORENOMINALE
                };
                processoModel.Fasi.Add(faseProcessoModel);
            }

            return(processoModel);
        }