Esempio n. 1
0
        public string CopiaProcesso(decimal idProcessoStandard, decimal idArticolo, decimal idImpianto, string utente)
        {
            string descrizione = "€#@#[]";

            using (ArticoloBusiness bArticolo = new ArticoloBusiness())
            {
                bArticolo.FillProcessi(_ds, -1, true);
                bArticolo.FillFasiProcesso(_ds, -1, true);
                ArticoloDS.PROCESSIRow processoStandard = _ds.PROCESSI.Where(x => x.IDPROCESSO == idProcessoStandard).FirstOrDefault();
                decimal idcolore = ElementiVuoti.ColoreVuoto;

                if (!processoStandard.IsIDCOLORENull())
                {
                    idcolore = processoStandard.IDCOLORE;
                }

                if (processoStandard == null)
                {
                    return("Errore durante la copia. Processo standard non trovato.");
                }
                string nuovaDescrizione = processoStandard.DESCRIZIONE;

                CreaNuovoProcesso(idArticolo, idImpianto, idcolore, descrizione, utente);
                _ds.PROCESSI.Clear();

                bArticolo.FillProcessi(_ds, idArticolo, true);
                bArticolo.FillFasiProcesso(_ds, idArticolo, true);


                ArticoloDS.PROCESSIRow processo = _ds.PROCESSI.Where(x => x.DESCRIZIONE == descrizione).FirstOrDefault();
                if (processo != null)
                {
                    processo.DESCRIZIONE = nuovaDescrizione;

                    List <ArticoloDS.FASIPROCESSORow> fasiStandard = _ds.FASIPROCESSO.Where(x => x.IDPROCESSO == idProcessoStandard).ToList();
                    foreach (ArticoloDS.FASIPROCESSORow faseStandard in fasiStandard)
                    {
                        ArticoloDS.FASIPROCESSORow fase = _ds.FASIPROCESSO.NewFASIPROCESSORow();
                        fase.CANCELLATO       = SiNo.No;
                        fase.CORRENTE         = faseStandard.CORRENTE;
                        fase.DURATA           = faseStandard.DURATA;
                        fase.DATAMODIFICA     = DateTime.Now;
                        fase.IDPROCESSO       = processo.IDPROCESSO;
                        fase.IDVASCA          = faseStandard.IDVASCA;
                        fase.SEQUENZA         = faseStandard.SEQUENZA;
                        fase.SPESSOREMASSIMO  = faseStandard.SPESSOREMASSIMO;
                        fase.SPESSORENOMINALE = faseStandard.SPESSORENOMINALE;
                        fase.SPESSOREMINIMO   = faseStandard.SPESSOREMINIMO;

                        fase.UTENTEMODIFICA = utente;
                        _ds.FASIPROCESSO.AddFASIPROCESSORow(fase);
                    }

                    bArticolo.UpdateTable(_ds.FASIPROCESSO.TableName, _ds);
                    bArticolo.UpdateTable(_ds.PROCESSI.TableName, _ds);
                    return("Salvataggio riuscito");
                }
                return("Errore durante la copia. Impossibile creare un nuovo processo.");
            }
        }
Esempio n. 2
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);
        }