public static void Load(int ActionID) { List <string> PNC = new List <string>(); PNCTable = new DataTable(); IEnumerable <PNCSpecialDB> PNCLoad = PNCSpecialController.Load(ActionID); CreateTable(); if (PNCLoad.Count() != 0) { foreach (PNCSpecialDB OnePNC in PNCLoad) { if (!PNC.Contains(OnePNC.PNC)) { PNC.Add(OnePNC.PNC); } } foreach (string PNCToAdd in PNC) { IEnumerable <PNCSpecialDB> OnePNCList = PNCLoad.Where(u => u.PNC == PNCToAdd).ToList(); DataRow SumPNCRow = PNCTable.NewRow(); SumPNCRow["PNC"] = PNCToAdd; PNCTable.Rows.Add(SumPNCRow); foreach (PNCSpecialDB OnePNC in OnePNCList) { if (OnePNC.ECCC != 0) { SumPNCRow["OLD ANC"] = "ECCC(" + OnePNC.ECCC + ")"; } DataRow NewRow = PNCTable.NewRow(); NewRow["OLD ANC"] = OnePNC.Old_ANC; NewRow["OLD Q"] = OnePNC.Old_Quant_ANC; NewRow["NEW ANC"] = OnePNC.New_ANC; NewRow["NEW Q"] = OnePNC.New_Quant_ANC; NewRow["OLD STK"] = OnePNC.Old_STK; NewRow["NEW STK"] = OnePNC.New_STK; NewRow["Delta"] = OnePNC.Delta; SumaPNC(SumPNCRow, OnePNC.Old_STK, OnePNC.New_STK, OnePNC.Delta); AddIDCO(OnePNC.Old_ANC, OnePNC.Old_IDCO, OnePNC.New_ANC, OnePNC.New_IDCO); PNCTable.Rows.Add(NewRow); } } } if (PNCTable.Rows.Count != 0) { MainProgram.Self.actionView.PNCListView.SetPNCSpecial(PNCTable); } }
public SaveAction() { //Sprawdzamy czy wszystko jest dozwolone do zapisu i czy czegoś nie brakuje; if (!CheckPermisionToSave()) { return; } if (ActionID.Singleton.ID != 0) { ActionDB NewAction; OriginalAction = ActionController.Load_ID(ActionID.Singleton.ID); NewAction = ActionSave.Save(); if (ActionID.Singleton.ActionModification) { ActionController.ModificationAction(OriginalAction, NewAction); //ActionID.Delete(); ActionID.Singleton.ID = NewAction.ID; } //Jeśli zmianie ulegają ANC to tedy ma działać if (ActionID.Singleton.ANCModification) { IEnumerable <ANCChangeDB> ANCs = ANCChangeSave.ANCSave(); if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { ANCChangeController.UpdateANC(OriginalAction.ID, NewAction.ID, ANCs); } else { ANCChangeController.UpdateANC(OriginalAction.ID, OriginalAction.ID, ANCs); } } else { //Update tylko ID akcji if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { ANCChangeController.UpdateActionID(OriginalAction.ID, NewAction.ID); } } //Jeśli jest zmiana w Mass Calculation to ma coś zmienić if (ActionID.Singleton.MassModification) { if (NewAction.Group_Calc && OriginalAction.Group_Calc) { CalculationMassDB Mass = CalculationMassSave.Mass(); if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { CalculationMassController.Update(OriginalAction.ID, NewAction.ID, Mass); } else { CalculationMassController.Update(OriginalAction.ID, OriginalAction.ID, Mass); } } else if (NewAction.Group_Calc && !OriginalAction.Group_Calc) { CalculationMassDB Mass = CalculationMassSave.Mass(); Mass.ActionID = NewAction.ID; CalculationMassController.Add(Mass); } else if (!NewAction.Group_Calc && OriginalAction.Group_Calc) { CalculationMassController.Deactivation(OriginalAction.ID); } } else { if (OriginalAction.Group_Calc) { //Update tylko ID akcji if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { ANCChangeController.UpdateActionID(OriginalAction.ID, NewAction.ID); } } } //Jeśli jest zmiania w liście PNC to ma zmienic if (ActionID.Singleton.PNCModification) { if (NewAction.PNC && OriginalAction.PNC) { IEnumerable <PNCListDB> PNCList = PNCSave.Save(); if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { PNCListController.UpatePNCList(OriginalAction.ID, NewAction.ID, PNCList); } else { PNCListController.UpatePNCList(OriginalAction.ID, OriginalAction.ID, PNCList); } } else if (NewAction.PNC && !OriginalAction.PNC) { IEnumerable <PNCListDB> PNCList = PNCSave.Save(); foreach (PNCListDB PNC in PNCList) { PNC.ActionID = NewAction.ID; } PNCListController.Add(PNCList); } else if (!NewAction.PNC && OriginalAction.PNC) { PNCListController.Deactivation(OriginalAction.ID); } } else { //Update tylko ID akcji if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { PNCListController.UpdateID(OriginalAction.ID, NewAction.ID); } } if (ActionID.Singleton.PNCSpecModification) { if (NewAction.PNCSpec && OriginalAction.PNCSpec) {//Update IEnumerable <PNCSpecialDB> List = PNCSpecialSave.Save(); if (OriginalAction.ID != NewAction.ID && NewAction.ID != 0) { PNCSpecialController.UpdateList(List, OriginalAction.ID, NewAction.ID); } else { PNCSpecialController.UpdateList(List, OriginalAction.ID, OriginalAction.ID); } } else if (NewAction.PNCSpec && !OriginalAction.PNCSpec) {//Nowe IEnumerable <PNCSpecialDB> List = PNCSpecialSave.Save(); foreach (PNCSpecialDB PNC in List) { PNC.ActionID = NewAction.ID; } PNCSpecialController.Add(List); } else if (!NewAction.PNCSpec && OriginalAction.PNCSpec) {//Usuwamy PNCSpecialController.Deactivation(OriginalAction.ID); } } } else { ActionDB ActionToSave = ActionSave.Save(); ActionToSave.Rev = 1; ActionToSave.ActionIDOriginal = 0; ActionController.NewAction(ActionToSave); OriginalAction = ActionController.FindAction(ActionToSave.Name, ActionToSave.StartYear); //IEnumerable<ANCChangeDB> ListANC = ANCChangeSave.ANCSave(); //foreach(var ANC in ListANC) //{ // ANC.ActionID = OriginalAction.ID; // ANC.Rev = 1; //} //ANCChangeController.Add(ListANC); //if (OriginalAction.ANCSpec) //{ // CalculationMassDB MassList = CalculationMassSave.Mass(); // MassList.ActionID = OriginalAction.ID; // MassList.Rev = 1; // CalculationMassController.Add(MassList); //} //else if(OriginalAction.PNC) //{ // IEnumerable<PNCListDB> PNCList = PNCSave.Save(); // foreach(var Row in PNCList) // { // Row.ActionID = OriginalAction.ID; // Row.Rev = 1; // } //} //else if(OriginalAction.PNCSpec) //{ // IEnumerable<PNCSpecialDB> PNCSpecialList = PNCSpecialSave.Save(); // foreach(var Row in PNCSpecialList) // { // Row.ActionID = OriginalAction.ID; // Row.Rev = 1; // } //} } }