/// <summary> /// Dalla riga presente in DSP.spesa ne crea n (da faseinizio a fasefine) /// </summary> /// <param name="DSP"></param> void SplitRowInPhases(DataSet DSP, DataAccess Conn) { CQueryHelper QHC = new CQueryHelper(); try { int faseinizio = Convert.ToInt32(DSP.Tables["expense"].ExtendedProperties["faseinizio"]); int fasefine = Convert.ToInt32(DSP.Tables["expense"].ExtendedProperties["fasefine"]); int fasespesafine = Convert.ToInt32(DSP.Tables["expense"].ExtendedProperties["fasespesafine"]); int fasespesamax = CfgFn.GetNoNullInt32(Conn.GetSys("maxexpensephase")); int minfasecreditore = Convert.ToInt32(Conn.GetSys("expenseregphase")); int minfasebilannuale = Convert.ToInt32(Conn.GetSys("expensefinphase")); int esercizio = (int)Conn.GetSys("esercizio"); DataRow ExSpesa = DSP.Tables["expense"].Rows[0]; DataRow ExImpSpesa = DSP.Tables["expenseyear"].Rows[0]; object previd = DBNull.Value; for (int fase = faseinizio; fase <= fasespesafine; fase++) { DataRow NewRow = DSP.Tables["expense"].NewRow(); NewRow["idexp"] = MetaData.MaxFromColumn(DSP.Tables["expense"], "idexp") + 1; NewRow["nphase"] = fase; //Assegna l'ID fase precedente if (fase > 1) { if (fase == faseinizio) { NewRow["parentidexp"] = ExSpesa["parentidexp"]; } else { NewRow["parentidexp"] = previd; } //NewRow["idexp"]= // NewRow["parentidexp"].ToString()+ // esercizio.ToString().Substring(2)+ // "980000"; NewRow["ymov"] = esercizio; } else { NewRow["parentidexp"] = DBNull.Value; //NewRow["idexp"]= // esercizio.ToString().Substring(2)+ // "980000"; //Per la prima fase soltanto prendo l'esercmovimento del form NewRow["ymov"] = ExSpesa["ymov"]; } //NewRow["ycreation"]=esercizio; //RowChange.CalcTemporaryID(NewRow); da problemi poiché gli ID esistono già previd = NewRow["idexp"]; //.ToString(); //da usare nella iterazione successiva //Copia tutti gli altri dati del movimento (rispettando l'ordine delle fasi) foreach (DataColumn C in DSP.Tables["expense"].Columns) { if (C.ColumnName == "idexp") { continue; } if (C.ColumnName == "nphase") { continue; } if (C.ColumnName == "parentidexp") { continue; } if (C.ColumnName == "ymov") { continue; } if ((C.ColumnName == "idreg") && (fase < minfasecreditore)) { continue; } if ((C.ColumnName == "cigcode") && (fase != minfasecreditore)) { continue; } if ((C.ColumnName == "cupcode") && (fase != minfasecreditore)) { continue; } ////Salta dati non appartenenti ad ultima fase //if (( // (C.ColumnName == "idser")|| // (C.ColumnName == "servicestart")||(C.ColumnName == "servicestop")|| // (C.ColumnName.StartsWith("importoprestazione"))|| // (C.ColumnName == "autotaxflag")|| (C.ColumnName == "autoclawbackflag")|| // (C.ColumnName == "servicestop")|| // (C.ColumnName == "ypay")||(C.ColumnName == "npay")|| // (C.ColumnName == "fulfilled") || (C.ColumnName == "idclawback")|| // (C.ColumnName == "nbill") // ) // && (fase != fasespesamax))continue; NewRow[C.ColumnName] = ExSpesa[C.ColumnName]; } DSP.Tables["expense"].Rows.Add(NewRow); //Aggiunge la riga di expenseyear DataRow NewImp = DSP.Tables["expenseyear"].NewRow(); NewImp["idexp"] = NewRow["idexp"]; NewImp["ayear"] = esercizio; // NewRow["eserccreazione"]; //NewImp["nphase"] = fase; foreach (DataColumn C in DSP.Tables["expenseyear"].Columns) { if (C.ColumnName == "idexp") { continue; } if (C.ColumnName == "ayear") { continue; } //if (C.ColumnName == "nphase") continue; if ((C.ColumnName == "idfin") && (fase < minfasebilannuale)) { continue; } if ((C.ColumnName == "idupb") && (fase < minfasebilannuale)) { continue; } //if ((C.ColumnName == "flagarrear") && (fase < minfasebilannuale))continue; NewImp[C.ColumnName] = ExImpSpesa[C.ColumnName]; } DSP.Tables["expenseyear"].Rows.Add(NewImp); if ((fase == fasemissione) && (DSP.Tables["expenseitineration"] != null)) { foreach (DataRow ChildR in DSP.Tables["expenseitineration"].Rows) { ChildR["idexp"] = NewRow["idexp"]; } } if ((fase == fasecedolino) && (DSP.Tables["expensepayroll"] != null)) { foreach (DataRow ChildR in DSP.Tables["expensepayroll"].Rows) { ChildR["idexp"] = NewRow["idexp"]; } } if ((fase == faseoccasionale) && (DSP.Tables["expensecasualcontract"] != null)) { foreach (DataRow ChildR in DSP.Tables["expensecasualcontract"].Rows) { ChildR["idexp"] = NewRow["idexp"]; } } if ((fase == faseprofessionale) && (DSP.Tables["expenseprofservice"] != null)) { foreach (DataRow ChildR in DSP.Tables["expenseprofservice"].Rows) { ChildR["idexp"] = NewRow["idexp"]; } } if ((fase == fasedipendente) && (DSP.Tables["expensewageaddition"] != null)) { foreach (DataRow ChildR in DSP.Tables["expensewageaddition"].Rows) { ChildR["idexp"] = NewRow["idexp"]; } } if ((fase == faseordine) && (DSP.Tables["expensemandate"] != null)) { int movkind = 0; foreach (DataRow ChildR in DSP.Tables["expensemandate"].Rows) { ChildR["idexp"] = NewRow["idexp"]; movkind = CfgFn.GetNoNullInt32(ChildR["movkind"]); } if (DSP.Tables["mandatedetail_taxable"] != null) { foreach (DataRow ChildRR in DSP.Tables["mandatedetail_taxable"].Rows) { switch (movkind) { case 1: if (ChildRR["idexp_taxable"] != DBNull.Value) { ChildRR["idexp_taxable"] = NewRow["idexp"]; } if (ChildRR["idexp_iva"] != DBNull.Value) { ChildRR["idexp_iva"] = NewRow["idexp"]; } break; case 3: if (ChildRR["idexp_taxable"] != DBNull.Value) { ChildRR["idexp_taxable"] = NewRow["idexp"]; } break; } } } if (DSP.Tables["mandatedetail_iva"] != null) { foreach (DataRow ChildRR in DSP.Tables["mandatedetail_iva"].Rows) { switch (movkind) { case 2: if (ChildRR["idexp_iva"] != DBNull.Value) { ChildRR["idexp_iva"] = NewRow["idexp"]; } break; } } } } if ((fase == faseiva) && (DSP.Tables["expenseinvoice"] != null)) { int movkind = 0; foreach (DataRow ChildR in DSP.Tables["expenseinvoice"].Rows) { ChildR["idexp"] = NewRow["idexp"]; movkind = CfgFn.GetNoNullInt32(ChildR["movkind"]); } if (DSP.Tables["invoicedetail_taxable"] != null) { foreach (DataRow ChildRR in DSP.Tables["invoicedetail_taxable"].Rows) { switch (movkind) { case 1: if (ChildRR["idexp_taxable"] != DBNull.Value) { ChildRR["idexp_taxable"] = NewRow["idexp"]; } if (ChildRR["idexp_iva"] != DBNull.Value) { ChildRR["idexp_iva"] = NewRow["idexp"]; } break; case 3: if (ChildRR["idexp_taxable"] != DBNull.Value) { ChildRR["idexp_taxable"] = NewRow["idexp"]; } break; } } } if (DSP.Tables["invoicedetail_iva"] != null) { foreach (DataRow ChildRR in DSP.Tables["invoicedetail_iva"].Rows) { switch (movkind) { case 2: if (ChildRR["idexp_iva"] != DBNull.Value) { ChildRR["idexp_iva"] = NewRow["idexp"]; } break; } } } } if (fase == fasespesamax) { //Sposta le righe figlie dalla riga originale a questa foreach (DataTable ChildT in new DataTable[] { DSP.Tables["expenselast"], DSP.Tables["expensetax"], DSP.Tables["expensetaxcorrige"], DSP.Tables["expensetaxofficial"], DSP.Tables["expenseclawback"], DSP.Tables["underwritingpayment"], DSP.Tables["expensebill"] }) { if (ChildT == null) { continue; } foreach (DataRow ChildR in ChildT.Rows) { ChildR["idexp"] = NewRow["idexp"]; } } if (fasefine > fasespesamax) { //Collega l'ultima fase al documento di pagamento DSP.Tables["expenselast"].Rows[0]["kpay"] = DSP.Tables["payment"].Rows[0]["kpay"]; //NewRow["ypay"]= DSP.Tables["payment"].Rows[0]["ypay"]; //NewRow["npay"]= DSP.Tables["payment"].Rows[0]["npay"]; } else { //NewRow["ypay"]= DBNull.Value; DSP.Tables["expenselast"].Rows[0]["kpay"] = DBNull.Value; } } if (fase == minfasebilannuale && DSP.Tables["underwritingappropriation"] != null) { //Sposta le righe in assegnazionecrediti dalla riga originale a questa foreach (DataRow ChildR in DSP.Tables["underwritingappropriation"].Rows) { ChildR["idexp"] = NewRow["idexp"]; } } //Sposta le classificazioni di quella fase if (DSP.Tables["expensesorted"] != null) { foreach (DataRow ClassR in DSP.Tables["expensesorted"].Rows) { DataRow ClassMov = ClassR.GetParentRow("sortingexpensesorted"); if (ClassMov == null) { continue; } string searchparent = QHC.CmpEq("idsorkind", ClassMov["idsorkind"]); DataTable SorKind = ClassMov.Table.DataSet.Tables["sortingkind"]; DataRow [] TipoClassRs = SorKind.Select(searchparent); if (TipoClassRs.Length == 0) { continue; } DataRow TipoClassR = TipoClassRs[0]; if (Convert.ToInt32(TipoClassR["nphaseexpense"]) != fase) { continue; } ClassR["idexp"] = NewRow["idexp"]; } } } //Fine del for relativo alle fasi if (DSP.Tables["payment"] != null && DSP.Tables["payment"].Rows.Count > 0) { DataRow Pagamento = DSP.Tables["payment"].Rows[0]; Pagamento["txt"] = ExSpesa["txt"]; Pagamento["rtf"] = ExSpesa["rtf"]; } ExImpSpesa.Delete(); ExSpesa.Delete(); if (fasefine <= fasespesamax && DSP.Tables["payment"] != null) { DSP.Tables["payment"].Clear(); } if (fasefine < fasespesamax && DSP.Tables["expenselast"] != null) { DSP.Tables["expenselast"].Clear(); } if (fasefine < fasespesamax && DSP.Tables["expensebill"] != null) { DSP.Tables["expensebill"].Clear(); } } catch (Exception e) { MessageBox.Show(e.Message); } }
static void Main(string[] args) { IKernel kernel = new StandardKernel(new ModuleBinding()); ClassA a = new ClassA(); a.Method1(); a.Method2(); // hello world a.Method3(); ClassB b = new ClassB(); b.Method1(); b.Method2(); b.Method3(); ClassD d = new ClassD(a); d.Method1(); ClassE e = new ClassE(); e.Method2(); e.Method5(); ClassH h = new ClassH(); h.Method2(); ClassJ j = new ClassJ(); j.Method1(); ClassK k = new ClassK(); k.Method1(); ClassM m = new ClassM(); m.Method2(); m.Method3(); m.Method7(); m.Method8(); ClassN n = new ClassN(); n.Method3(); ClassO o = new ClassO(); o.Method2(); ClassP p = new ClassP(); p.Method10(); p.Method2(); p.Method9(); ClassL l = new ClassL(p); l.Method1(); ClassQ q = new ClassQ(); q.Method3(); ClassR r = new ClassR(); r.Method1(); ClassS s = new ClassS(); s.Method1(); s.Method2(); s.Method3(); ClassT t = new ClassT(e); t.Method2(); ClassU u = new ClassU(); u.Mehthod1(); ClassV v = new ClassV(); v.Method2(); ClassW w = new ClassW(kernel.Get <IInterfaceSomething>()); w.Method2(); w.Method3(); ClassX x = new ClassX(); x.Method1(); ClassY y = new ClassY(); y.Method2(); ClassZ z = new ClassZ(); z.Method2(); }
public void Method1() { ClassR r = new ClassR(); r.Method1(); }