Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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;
                //    }
                //}
            }
        }