Exemplo n.º 1
0
        public CExcelInputHelper(CSmartArray array)
        {
            //Application pApp = new Application();
            m_pApp = new Application();
            Workbook pBook = m_pApp.Workbooks.Add();

            m_pSheet = pBook.Sheets[1];

            m_pSheet.Cells[1, 1] = "наименование";
            m_pSheet.Cells[1, 2] = "количество";

            //int count = array.GetCount();
            int count = m_spisok.GetCount();

            for (int i = 0; i < count; i++)
            {
                ProductTag tag = (ProductTag)(i + 1);
                m_pSheet.Cells[i + 2, 1] = m_spisok.GetName(tag);
                m_pSheet.Cells[i + 2, 2] = array.GetTagCount(tag);
            }
            Range pRange = m_pSheet.Range[m_pSheet.Cells[1, 1], m_pSheet.Cells[count + 1, 2]];

            //Range pColumn = m_pSheet.Columns["A:FF"];
            //pColumn.AutoFit();
            for (int i = (int)XlBordersIndex.xlEdgeLeft; i <= (int)XlBordersIndex.xlInsideHorizontal; i++)
            {
                pRange.Borders[(XlBordersIndex)i].LineStyle = XlLineStyle.xlContinuous;
            }
            m_pApp.Visible = true;
        }
Exemplo n.º 2
0
 private Kernal.CSmartArray GetAllPlaneArray()
 {
     Kernal.CSmartArray array = m_PlaneSet1.CalcArray();
     array.Merge(m_PlaneSet2.CalcArray());
     array.Merge(m_PlaneSet3.CalcArray());
     return(array);
 }
Exemplo n.º 3
0
 private void LoadZakazListToSmartArray(CSmartArray array, List <CZakaz> pList)
 {
     for (int i = 0; i < pList.Count; i++)
     {
         array.Merge(pList[i].GetSmartArray());
     }
 }
Exemplo n.º 4
0
        public bool IsEqual(CSmartArray array)
        {
            Dictionary <ProductTag, int> map = array.GetMap();
            int count = m_TagMap.Count;

            if (count != map.Count)
            {
                return(false);
            }

            var en = m_TagMap.Keys.GetEnumerator();

            en.MoveNext();
            for (int i = 0; i < count; i++)
            {
                ProductTag pTag     = en.Current;
                int        TagCount = array.GetTagCount(pTag);
                if (TagCount == 0)
                {
                    return(false);
                }
                if (TagCount != GetTagCount(pTag))
                {
                    return(false);
                }
            }
            return(true);
        }
Exemplo n.º 5
0
 private Kernal.CSmartArray GetAllTrainArray()
 {
     Kernal.CSmartArray array = m_TrainSet1.CalcArray();
     array.Merge(m_TrainSet2.CalcArray());
     array.Merge(m_TrainSet3.CalcArray());
     return(array);
 }
Exemplo n.º 6
0
 public void UpdateResult(CSmartArray arr)
 {
     if (arr == null)
     {
         return;
     }
     arr.Merge(m_Result);
     m_Result.RemoveAll();
 }
Exemplo n.º 7
0
        public CSmartArray CalcArray()
        {
            CSmartArray array = new CSmartArray();

            for (int i = 0; i < m_ZakazCollection.Count; i++)
            {
                array.Merge(m_ZakazCollection[i]);
            }
            return(array);
        }
Exemplo n.º 8
0
        public CSmartArray CalcArray()
        {
            CSmartArray array = new CSmartArray();

            for (int i = 0; i < m_prCollection.Count; i++)
            {
                array.Add(m_prCollection[i].GetProductTag(), m_prCollection[i].GetValue());
            }
            return(array);
        }
Exemplo n.º 9
0
        public static CSmartArray Create()
        {
            CSmartArray cSmartArray = new CSmartArray();

            return(cSmartArray);

            // TODO: Edit factory method of CSmartArray
            // This method should be able to configure the object in all possible ways.
            // Add as many parameters as needed,
            // and assign their values to each field by using the API.
        }
Exemplo n.º 10
0
        private void SelectedIndexChange(object sender, EventArgs e)
        {
            int         sIndex = ZakazList.SelectedIndex;
            CSmartArray array  = null;

            if (sIndex != -1)
            {
                array = m_ZakazCollection[ZakazList.SelectedIndex];
            }
            m_prCollection.FillControls(array);
        }
Exemplo n.º 11
0
        public CSmartArray GetArray()
        {
            CSmartArray array = new CSmartArray();
            int         count = TextList.Count;

            for (int i = 0; i < count; i++)
            {
                array.Add(TextList[i].Text, (int)NumericList[i].Value);
            }
            return(array);
        }
Exemplo n.º 12
0
        public void Merge(CSmartArray Arr)
        {
            var e = Arr.m_TagMap.Keys.GetEnumerator();

            e.MoveNext();
            for (int i = 0; i < Arr.m_TagMap.Keys.Count; i++)
            {
                ProductTag pTag = e.Current;
                Add(pTag, Arr.m_TagMap[pTag]);
                e.MoveNext();
            }
            e.Dispose();
        }
Exemplo n.º 13
0
        public void Refresh()
        {
            m_InputCount = new List <int>();
            m_SmartInput = new CSmartArray();
            m_Result     = new CSmartArray();

            int count = m_TagInputArray.Count();

            for (int i = 0; i < count; i++)
            {
                m_InputCount.Add(0);
            }
        }
Exemplo n.º 14
0
        public CSmartArray Copy()
        {
            CSmartArray array = new CSmartArray();
            var         e     = m_TagMap.Keys.GetEnumerator();

            for (int i = 0; i < m_TagMap.Keys.Count; i++)
            {
                e.MoveNext();
                ProductTag tag = e.Current;
                array.Add(tag, m_TagMap[tag]);
            }
            return(array);
        }
Exemplo n.º 15
0
        virtual public void SetInput(CSmartArray Array)
        {
            int count = m_TagInputArray.Count;

            for (int i = 0; i < count; i++)
            {
                ProductTag tag          = m_TagInputArray[i];
                int        ProductCount = Array.GetTagCount(tag);
                m_InputCount[i] = ProductCount;
                m_SmartInput.Add(tag, ProductCount);
                Array.ClearTag(tag);
            }
        }
Exemplo n.º 16
0
        public CSmartArray GetArray()
        {
            CSmartArray array = new CSmartArray();
            int         count = m_spisok.GetCount();

            for (int i = 1; i < count; i++)
            {
                string name  = m_pSheet.Cells[i + 1, 1].Text;
                string value = m_pSheet.Cells[i + 1, 2].Text;
                array.Add(name, Convert.ToInt32(value));
            }
            return(array);
        }
Exemplo n.º 17
0
 private void button2_Click_1(object sender, EventArgs e)
 {
     Kernal.CProductCalc ar    = new Kernal.CProductCalc();
     Kernal.CSmartArray  array = GetAllZakazArray();
     array.ExcludeWhatHave(m_AlreadyHave.Copy());
     ar.SetArray(array);
     ar.SetAlreadyHave(m_AlreadyHave.Copy());
     for (int i = 0; i < CalcCount; i++)
     {
         ar.Calc();
     }
     ShowResultForm(ar.Print());
 }
Exemplo n.º 18
0
        private CProductCalc GetProductCalcSimpleAndSecond(List <CZakaz> simpleZakazes, List <CZakaz> newZakazes)
        {
            CSmartArray calcArray2 = new CSmartArray();

            LoadZakazListToSmartArray(calcArray2, simpleZakazes);
            LoadZakazListToSmartArray(calcArray2, newZakazes);

            CProductCalc productCalc2 = new CProductCalc();

            productCalc2.SetArray(calcArray2);
            productCalc2.SetAlreadyHave(m_alreadyHave.Copy());
            productCalc2.Calc(5);
            return(productCalc2);
        }
Exemplo n.º 19
0
        public void Calc()
        {
            List <CZakaz> simpleZakazes  = new List <CZakaz>();
            List <CZakaz> newZakazes     = new List <CZakaz>();
            List <CZakaz> resolveZakazes = new List <CZakaz>();

            UpdateZakazsList(resolveZakazes, newZakazes, simpleZakazes);

            CSmartArray calcArray = new CSmartArray();

            LoadZakazListToSmartArray(calcArray, simpleZakazes);

            CProductCalc productCalc = new CProductCalc();

            productCalc.SetArray(calcArray);
            productCalc.SetAlreadyHave(m_alreadyHave.Copy());
            productCalc.Calc(5);

            Worksheet pTotalSheet = m_pBook.Worksheets.Add();

            pTotalSheet.Name = GetUniqueSheetName("MainTotal");
            ExportToExcel(pTotalSheet, productCalc.GetFactoryList(), productCalc.GetArray());
            {
                Worksheet pOneTableSheet = m_pBook.Worksheets.Add();
                pOneTableSheet.Name = GetUniqueSheetName("OneTableTotal");
                Kernal.CAllFactoryOneTable allFactoryOneTable = new Kernal.CAllFactoryOneTable(productCalc.GetFactoryList(), pOneTableSheet);
                Kernal.CAllSourceWrite     AllSourceWrite     = new Kernal.CAllSourceWrite(pOneTableSheet, productCalc.GetArray());
            }

            if (newZakazes.Count > 0)
            {
                CProductCalc productCalc2 = GetProductCalcSimpleAndSecond(simpleZakazes, newZakazes);
                {
                    Worksheet pTotalSheet2 = m_pBook.Worksheets.Add();
                    pTotalSheet2.Name = GetUniqueSheetName("OtherTotal");
                    ExportToExcel(pTotalSheet2, productCalc2.GetFactoryList(), productCalc2.GetArray());
                }
                productCalc2.ExcludeWhatHave(productCalc);
                Worksheet pSimpleSheet = m_pBook.Worksheets.Add();
                pSimpleSheet.Name = GetUniqueSheetName("SimpleTotal");
                new CSimpleFactoryExport(pSimpleSheet, productCalc2.GetFactoryList(), productCalc2.GetArray());
            }
            if (resolveZakazes.Count > 0)
            {
                CProductCalc productCalc2   = GetProductCalcSimpleAndSecond(simpleZakazes, resolveZakazes);
                CSmartArray  newAlreadyHave = productCalc.GetAlreadyHave();

                //вывести на другой лист значение newAlreadyHave
            }
        }
Exemplo n.º 20
0
        private void planeCalc_Click(object sender, EventArgs e)
        {
            Kernal.CProductCalc calc  = new Kernal.CProductCalc();
            Kernal.CSmartArray  array = GetAllPlaneArray();
            array.ExcludeWhatHave(m_AlreadyHave.Copy());
            calc.SetArray(array);
            calc.SetAlreadyHave(m_AlreadyHave.Copy());
            for (int i = 0; i < CalcCount; i++)
            {
                calc.Calc();
            }

            ShowResultForm(calc.Print());
        }
Exemplo n.º 21
0
        private void SaveZakaz(object sender, EventArgs e)
        {
            CSmartArray array  = m_prCollection.CalcArray();
            int         sIndex = ZakazList.SelectedIndex;

            if (sIndex == -1)
            {
                m_ZakazCollection.Add(array);
                string name = "заказ " + (ZakazList.Items.Count + 1).ToString();
                ZakazList.Items.Add(name);
            }
            else
            {
                m_ZakazCollection[sIndex] = array;
            }
        }
Exemplo n.º 22
0
 private void button1_Click(object sender, EventArgs e)
 {
     Kernal.CSmartArray array = GetAllZakazArray();
     array.Merge(GetAllTrainArray());
     array.Merge(GetAllPlaneArray());
     array.ExcludeWhatHave(m_AlreadyHave.Copy());
     Kernal.CProductCalc calc = new Kernal.CProductCalc();
     calc.SetArray(array);
     calc.SetAlreadyHave(m_AlreadyHave.Copy());
     for (int i = 0; i < CalcCount; i++)
     {
         calc.Calc();
     }
     ShowResultForm(calc.Print());
     Kernal.CExportAllFactoryHelper helper = new Kernal.CExportAllFactoryHelper(calc.GetFactoryList());
 }
Exemplo n.º 23
0
        public CSimpleFactoryExport(Worksheet pSheet, List <CFactory> pList, CSmartArray array)
        {
            int row = 1;

            for (int i = 0; i < pList.Count; i++)
            {
                CFactory pFactory = pList[i];
                if (!pFactory.IsEmpty())
                {
                    Range pRange = pSheet.Range[pSheet.Cells[row, 1], pSheet.Cells[row, 2]];
                    pRange.Merge();
                    pRange.Value = pList[i].GetFactName();
                    row++;
                }
                ExportFactory(pSheet, pFactory, ref row);
            }

            Dictionary <ProductTag, int> map = array.GetMap();

            Dictionary <ProductTag, int> .KeyCollection.Enumerator e = map.Keys.GetEnumerator();
            int count = map.Keys.Count;

            pSheet.Range[pSheet.Cells[row, 1], pSheet.Cells[row, 2]].Merge();
            pSheet.Range[pSheet.Cells[row, 1], pSheet.Cells[row, 2]] = "Вырастить на поле";
            row++;
            for (int i = 0; i < count; i++)
            {
                e.MoveNext();
                ProductTag tag   = e.Current;
                string     name  = m_spisok.GetName(tag);
                int        value = map[tag];
                pSheet.Cells[row, 1] = name;
                pSheet.Cells[row, 2] = value;
                row++;
            }

            Range FullRange = pSheet.Range[pSheet.Cells[1, 1], pSheet.Cells[row - 1, 2]];

            for (int i = (int)XlBordersIndex.xlEdgeLeft; i <= (int)XlBordersIndex.xlInsideHorizontal; i++)
            {
                FullRange.Borders[(XlBordersIndex)i].LineStyle = XlLineStyle.xlContinuous;
            }
            pSheet.Columns[1].AutoFit();
        }
Exemplo n.º 24
0
        public void FillControls(CSmartArray array)
        {
            List <ProductTag> ptList = new List <ProductTag>();
            List <int>        iList  = new List <int>();

            if (array != null)
            {
                array.FillArray(ptList, iList);
            }
            int count = ptList.Count;

            for (int i = 0; i < count; i++)
            {
                m_prCollection[i].SetValue(ptList[i], iList[i]);
            }
            for (int i = count; i < m_prCollection.Count; i++)
            {
                m_prCollection[i].SetValue(Kernal.ProductTag.ptNotFound, 0);
            }
        }
Exemplo n.º 25
0
        public CAllSourceWrite(Worksheet pSheet, CSmartArray array)
        {
            Dictionary <ProductTag, int> map = array.GetMap();

            Dictionary <ProductTag, int> .KeyCollection.Enumerator e = map.Keys.GetEnumerator();
            const int startRow    = 3;
            const int startColumn = 10;

            Utils.WriteHeader(pSheet, startRow, startColumn);

            int count = map.Keys.Count;

            for (int i = 0; i < count; i++)
            {
                e.MoveNext();
                ProductTag tag   = e.Current;
                string     name  = m_spisok.GetName(tag);
                int        value = map[tag];
                Utils.WriteTagString(pSheet, startRow + i, startColumn, name, value);
            }
        }
Exemplo n.º 26
0
        public void ExcludeWhatHave(CSmartArray Arr)
        {
            var e = m_TagMap.Keys.GetEnumerator();
            List <ProductTag> sameTag = new List <ProductTag>();

            for (int i = 0; i < m_TagMap.Keys.Count; i++)
            {
                e.MoveNext();
                ProductTag tag   = e.Current;
                int        count = Arr.GetTagCount(tag);
                if (count != 0)
                {
                    sameTag.Add(tag);
                }
            }
            for (int i = 0; i < sameTag.Count; i++)
            {
                ProductTag tag   = sameTag[i];
                int        count = Arr.GetTagCount(tag);
                int        value = m_TagMap[tag];

                if (value > count)
                {
                    Add(tag, -count);
                    Arr.ClearTag(tag);
                }
                else if (value < count)
                {
                    ClearTag(tag);
                    Arr.Add(tag, -value);
                }
                else //одинаковое значение
                {
                    ClearTag(tag);
                    Arr.ClearTag(tag);
                }
            }
            //e.MoveNext();
        }
Exemplo n.º 27
0
 public CExportAllFactoryHelper(Worksheet pSheet, List <CFactory> pList, CSmartArray array)
 {
     m_pFactoryList = pList;
     m_array        = array;
     ExportForExcel(pSheet);
 }
Exemplo n.º 28
0
 public CZakaz()
 {
     m_isNew     = false;
     m_isResolve = false;
     m_array     = new CSmartArray();
 }
Exemplo n.º 29
0
        //another change
        static public void SetHaveProduct(CSmartArray arr)
        {
            //arr.Add(("пшеница"), 2);
            arr.Add(("кукуруза"), 3);
            arr.Add(("морковь"), 3);
            arr.Add(("сахарный тросник"), 3);
            arr.Add(("хлопок"), 3);
            arr.Add(("клубника"), 3);
            arr.Add(("томат"), 6);
            //arr.Add(("сосна"), 4);
            //arr.Add(("картофель"), 4);
            arr.Add(("какао"), 5);
            arr.Add(("каучук"), 6);
            //arr.Add(("шелк"), 3);
            //arr.Add(("перец"), 1);

            arr.Add("яйцо", 13);
            arr.Add("кукурузные чипсы", 10);

            arr.Add(("хлеб"), 1);
            arr.Add(("печенье"), 1);
            arr.Add(("бублик"), 2);
            arr.Add(("пицца"), 2);
            arr.Add(("картофельный хлеб"), 0);
            arr.Add(("банановый хлеб"), 1);
            arr.Add(("сливки"), 1);
            arr.Add(("сыр"), 4);
            arr.Add(("масло"), 0);
            arr.Add(("йогурт"), 1);
            arr.Add(("персиковый йогурт"), 1);
            arr.Add(("хлопковая ткань"), 5);
            arr.Add(("пряжа"), 4);
            arr.Add(("шелковая ткань"), 3);
            arr.Add(("рубашка"), 4);
            arr.Add(("свитер"), 3);
            arr.Add(("пальто"), 0);
            arr.Add(("шляпа"), 3);
            arr.Add(("платье"), 3);
            arr.Add(("костюм"), 1);
            arr.Add(("попкорн"), 4);
            arr.Add(("кукурузные чипсы"), 2);
            arr.Add(("Гранола"), 5);
            arr.Add(("чипсы"), 0);
            arr.Add(("милкшейк"), 2);
            arr.Add(("чизбургер"), 0);
            arr.Add(("сэндвич"), 1);
            arr.Add(("картошка фри"), 2);
            arr.Add(("печеный картофель"), 1);
            arr.Add(("резина"), 3);
            arr.Add(("пластик"), 4);
            arr.Add(("клей"), 1);
            arr.Add(("сахар"), 4);
            arr.Add(("сироп"), 2);
            arr.Add(("карамель"), 0);
            arr.Add(("медовая карамель"), 2);
            arr.Add(("бумага"), 4);
            arr.Add(("бумажные полотенца"), 1);
            arr.Add(("обои"), 1);
            arr.Add(("книга"), 1);
            arr.Add(("мороженное"), 2);
            arr.Add(("фруктовый лед"), 3);
            arr.Add(("заморолженный йогурт"), 2);
            arr.Add(("эскимо"), 4);
            arr.Add(("ананасовый сорбет"), 2);
            arr.Add(("кекс"), 1);
            arr.Add(("шоколадный пирог"), 1);
            arr.Add(("пирожное"), 3);
            arr.Add(("пончик"), 0);
        }
Exemplo n.º 30
0
 private void ExportToExcel(Worksheet pSheet, List <CFactory> pFactory, CSmartArray array)
 {
     CExportAllFactoryHelper excelHelper = new CExportAllFactoryHelper(pSheet, pFactory, array);
 }