public ActionResult Index()
        {
            string category = "Computers";
            var useperiods = db.UsePeriods
                .Where(up => up.EndDate == null || up.EndDate >= DateTime.Now)
                .Where(up => up.Asset is Computer)
                .OrderBy(up => up.AssetId)
                .Select(up => new { AssetId = up.AssetId, Name = up.UserAccount.Name,
                    Function = up.Function, SerialNumber = up.Asset.SerialNumber })
                .ToList()
                ;

            List<AssetSelectListItem> list2 = new List<AssetSelectListItem>();
            foreach (var item in useperiods)
            {
                AssetSelectListItem asli = new AssetSelectListItem();
                asli.CompoundId = category.Substring(0, 1) + item.AssetId.ToString();
                asli.Identifier = asli.CompoundId + " - ";
                if (string.IsNullOrEmpty(item.Name))
                {
                    if (string.IsNullOrEmpty(item.Function))
                    {
                        asli.Identifier += item.SerialNumber;
                    }
                    else { asli.Identifier += item.Function; }
                }
                else { asli.Identifier += item.Name; }
                list2.Add(asli);
            }

            ViewBag.CompoundId = new SelectList(list2, "CompoundId", "Identifier");
            return View(new RepairInfo());
        }
Beispiel #2
0
        public virtual List<CostDetail> GetRelatedImplantCostDetail(string codProductPartTask, IQueryable<Cost> costs)
        {
            List<CostDetail> lst = new List<CostDetail>();

            var x = CreatorImplantCostDetail();

            x.ComputedBy = this;
            x.ProductPart = this.ProductPart;

            //devo pescare il costo e associarlo al dettaglio
            if (x.CodCost == null)
            {
                var xxxx = costs.ToList();

                var cost = costs.Where(pp => pp.CodProductPartImplantTask == codProductPartTask).FirstOrDefault();
                //da non usare MAIIII                    x.TaskCost = cost;
                x.CodCost = cost.CodCost;
                x.CodCostDetail = cost.CodCost;

                x.CostDetailCostCodeRigen();
            }

            //GUID
            x.Guid = this.Guid;
            this.Computes.Add(x);
            lst.Add(x);

            return lst;
        }
Beispiel #3
0
        internal static void GetFormattedTextRecursive(XElement Xml, ref List<FormattedText> alist)
        {
            FormattedText ft = ToFormattedText(Xml);
            FormattedText last = null;

            if (ft != null)
            {
                if (alist.Count() > 0)
                    last = alist.Last();

                if (last != null && last.CompareTo(ft) == 0)
                {
                    // Update text of last entry.
                    last.text += ft.text;
                }
                else
                {
                    if (last != null)
                        ft.index = last.index + last.text.Length;

                    alist.Add(ft);
                }
            }

            if (Xml.HasElements)
                foreach (XElement e in Xml.Elements())
                    GetFormattedTextRecursive(e, ref alist);
        }
Beispiel #4
0
 public static List<ChartData> CreateCompanyList2()
 {
     List<ChartData> company2 = new List<ChartData>();
     company2.Add(new ChartData() { Mounth = "January", Money = 80 });
     company2.Add(new ChartData() { Mounth = "February", Money = 160 });
     company2.Add(new ChartData() { Mounth = "March", Money = 130 });
     return company2;
 }
        public WfDocGenerator(List<ActivityChainModel> activities, RulesExtractor rulesExtractor, Settings Settings)
            : base(activities, rulesExtractor, Settings)
        {
            if (Settings.GetLanguage() < OutputFormat.Docx)
                throw new NotSupportedException("Output Language not supported:" + Settings.GetLanguage());

            Name = "Workflow to Code Generator";
        }
Beispiel #6
0
 public static List<ChartData> CreateCompanyList1()
 {
     List<ChartData> company1 = new List<ChartData>();
     company1.Add(new ChartData() { Mounth = "January", Money = 100 });
     company1.Add(new ChartData() { Mounth = "February", Money = 120 });
     company1.Add(new ChartData() { Mounth = "March", Money = 140 });
     return company1;
 }
Beispiel #7
0
 public Terminos_y_resultado(List<float> results, List<string> cats, float indice, float calif)
 {
     InitializeComponent();
     this.results = results;
     this.cats = cats;
     this.bigcats = new List<float>();
     this.indice = indice;
     this.calif = calif;
 }
Beispiel #8
0
        internal List<Paragraph> GetParagraphs()
        {
            // Need some memory that can be updated by the recursive search.
            int index = 0;
            List<Paragraph> paragraphs = new List<Paragraph>();

            GetParagraphsRecursive(Xml, ref index, ref paragraphs);

            return paragraphs;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="lines"></param>
        /// <param name="doc"></param>
        public static void AddParagraph(List<List<string>> lines, DocX doc)
        {
            Paragraph p = doc.InsertParagraph();
            List<List<string>> l = lines;

            foreach (List<string> ss in l)
            {
                MatchCollection mc = Regex.Matches(ss[0], @"\{[0-9]+\}");
                string temp = ss[0];
                foreach (Match m in mc)
                {
                    foreach (Capture c in m.Captures)
                    {
                        temp = temp.Replace(c.Value, "¬");
                    }
                }

                string[] temps = temp.Split('¬');

                Append(p, temps[0]);

                for (int i = 1; i < ss.Count; i++)
                {
                    string pattern = @"\\(?<type>[a-zA-Z0-9]+)(?:\{(?<output>[^\{\}]+)\})?(?:\{(?<output2>[^\{\}]+)\})?";
                    Match m = Regex.Match(ss[i], pattern);
                    switch (m.Groups["type"].Value)
                    {
                        case "textbf":

                            Append(p, m.Groups["output"].Value);
                            p.Bold();

                            p.Append(temps[i]);
                            break;

                        case "emph":
                        case "textit":
                            Append(p, m.Groups["output"].Value);
                            p.Italic();
                            Append(p, temps[i]);
                            break;

                        case "rlap":
                            Append(p, m.Groups["output"].Value);
                            Append(p, m.Groups["output2"].Value);
                            break;

                        default:
                            throw new Exception(m.Groups["type"] + " is still under development");
                    }
                }

                string blah = doc.Xml.Value;
            }
        }
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            ArrayList düzeltilmisler = new ArrayList();
            string[] array = new string[] { };
            StreamWriter docx = File.CreateText(@"C:\Users\" + Environment.UserName + @"\Documents\" + DosyaAdi + ".txt");
            Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
            Document doc = new Document();

            // Define an object to pass to the API for missing parameters
            object missing = System.Type.Missing;
            doc = word.Documents.Open(ref DosyaYolu,
                    ref missing, ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing);

            String read = string.Empty;
            List<string> data = new List<string>();
            foreach (Range tmpRange in doc.StoryRanges)
            {
                //read += tmpRange.Text + "<br>";
                read += tmpRange.Text;

            }
            ((_Document)doc).Close();
            ((_Application)word).Quit();

            array = read.Split(new Char[] { ',',' ', '_','-','.','"',';',':', '“', '”','!','(',')','[',']','{','}' });

            for (int i = 0; i < array.Length; i++)
            {
                düzeltilmisler.Add(Denetim.Düzelt(array[i].Trim()));
                backgroundWorker1.ReportProgress((i + 1) * 100 / array.Length);
            }

            for (int i = 0; i < düzeltilmisler.Count; i++)
            {
                try
                {
                    if((string)düzeltilmisler[i] != array[i].ToLower().Trim())
                    {
                        docx.WriteLine(array[i].ToLower() + "    ->  " + düzeltilmisler[i]);
                    }

                }
                catch (Exception e2)
                {

                }

            }

            docx.Close();
        }
Beispiel #11
0
 public Csapatok( string versenyAzonosito ) {
     csapatok = new List<Csapat>( );
     foreach( var versenyeredmenyek in Model.Data.Data.Eredmenyek._versenyEredmenyek.Where( eredmeny => eredmeny.VersenyAzonosito.Equals( versenyAzonosito ) ) ) {
         foreach( var csapatazonosito in versenyeredmenyek.Eredmenyek._eredmenyek.OrderBy( eredmeny => eredmeny.Csapat ).GroupBy( eredmeny => eredmeny.Csapat ).Select( grouping => grouping.Key ) ) {
             csapatok.Add( new Csapat {
                 Azonosito = csapatazonosito,
                 InduloAdatok = new InduloAdatok( versenyAzonosito, csapatazonosito )
             } );
         }
     }
 }
Beispiel #12
0
        private void Terminos_y_resultado_Load(object sender, EventArgs e)
        {
            float result = 0;
            int contador = 0;

            List<int> fin = new List<int>();
            for (int i = 0; i < cats.Count; i++)
            {

                if (i > 0)
                {
                    if (cats.ElementAt(i).Contains("--"))
                    {
                        contador++;
                    }
                    else
                    {
                        fin.Add(contador);
                        contador = 0;
                    }
                    if (i == cats.Count - 1)
                        fin.Add(contador);

                }
            }

            result = 0;
            int pos = 0;
            int parainsertar = 0;
            for (int i = 0; i < fin.Count; i++)
            {
                for (int j = 0; j < fin.ElementAt(i); j++)
                {
                    result += results.ElementAt(pos + j);
                }
                results.Insert(parainsertar, result);
                result = 0;
                if (pos == 0)
                    pos += fin.ElementAt(i) + 1;
                else
                    pos += fin.ElementAt(i);
                parainsertar += fin.ElementAt(i) + 1;

            }

            Resultadofinal.Text = indice.ToString();
            Idesempeño.Text = calif.ToString();
            richTextBox1.Font = new Font(richTextBox1.Font.FontFamily, 16);
            for (int i = 0; i < cats.Count; i++)
                richTextBox1.Text += cats.ElementAt(i) + ": " + results.ElementAt(i).ToString() + "\n";
        }
Beispiel #13
0
        public virtual List<PrintingHint> SelectValidpHint(List<PrintingHint> pHint, double smallerCalculatedDCutLessZero, double smallerCalculatedDCut)
        {
            List<PrintingHint> pHint1;

            pHint1 = pHint.Where(x => x.IsDie || (x.DCut2 >= this.MinDCut
                    && x.DCut2 <= this.MaxDCut && (x.DCut1 >= x.DCut2 || (x.DCut1 == 0 && x.MaxGain1 == 1)))).ToList();

            var c = pHint1.Where(y => !y.IsDie);

            if (c.Count() == 0 || MinDCut == 0)
            {
                //fascette gommate
                if (MinDCut == 0 && MaxDCut == 0)
                {
                    var pHint2 = pHint.Where(x => x.IsDie || (x.DCut2 == smallerCalculatedDCutLessZero * -1));
                    pHint1 = pHint.Where(x => x.IsDie || (x.DCut2 >= 0 && x.DCut2 <= smallerCalculatedDCut && (x.DCut1 >= x.DCut2 || x.DCut1 == 0))).ToList();
                    var pHint3 = pHint1.Union(pHint2);
                    pHint1 = pHint3.ToList();
                }
                else
                {
                    var smaller = pHint.Where(x => x.DCut1 >= x.DCut2 || x.DCut1 == 0 && x.MaxGain1 == 1).Select(x => x.DeltaDCut2).Min();
                    var pHintLast1 = pHint.Where(x => x.IsDie || (x.DeltaDCut2 == smaller && (x.DCut1 >= x.DCut2 || x.DCut1 == 0 && x.MaxGain1 == 1)));

                    try
                    {
                        var smaller2 = pHint.Where(x => (x.DCut1 >= x.DCut2 || x.DCut1 == 0 && x.MaxGain1 == 1) && x.DeltaDCut2 != smaller).Select(x => x.DeltaDCut2).Min();
                        var pHintLast2 = pHint.Where(x => x.IsDie || (x.DeltaDCut2 == smaller2 && x.DeltaDCut2 != smaller && (x.DCut1 >= x.DCut2 || x.DCut1 == 0 && x.MaxGain1 == 1)));


                        pHint1 = pHintLast1.Union(pHintLast2).ToList();

                    }
                    catch (Exception)
                    {
                        pHint1 = pHintLast1.ToList();

                    }
                    //                    pHint1 = pHint.Where(x => x.DCut2 >= 0 && x.DCut2 <= smallerCalculatedDCut && (x.DCut1 >= x.DCut2 || x.DCut1 == 0)).ToList();
                }
            }

            var pRemove = pHint1.Select(x => x.BuyingFormat.GetSide1() == 0);
            Console.WriteLine(pRemove);

            pHint1 = pHint1.Where(x => x.GainOnSide2 > 0 && x.GainOnSide1 > 0).ToList();

            return pHint1.Where(x => x.BuyingFormat.GetSide1() != 0).ToList();
        }
        public void WriteToFile(string fileName, List<Problem> source, int numberOfPage)
        {
            DocX doc = DocX.Create(fileName);
              var font = new System.Drawing.FontFamily("Consolas");
              var rand = new Random(DateTime.Now.Millisecond);
              var gap = new string(' ', spaceBetweenProblem - 1);

              var totalCount = colCount * rowCount * numberOfPage;

              List<Problem> allItems = new List<Problem>();
              while (allItems.Count < totalCount)
              {
            var problems = source.ToArray();
            Utils.Shuffle(problems);
            allItems.AddRange(problems);
              }

              Paragraph lastLine = null;
              for (int page = 0; page < numberOfPage; page++)
              {
            var from = colCount * rowCount * page;

            for (int row = 0; row < rowCount; row++)
            {
              var line1 = doc.InsertParagraph();
              lastLine = doc.InsertParagraph();
              for (int col = 0; col < colCount; col++)
              {
            line1.Append(string.Format("{0} ", allItems[from].LeftNumber.ToString().PadLeft(maxDigits + 1, ' '))).Font(font).FontSize(fontSize).Append(gap).Font(font).FontSize(fontSize);
            lastLine.Append(string.Format("{0}{1} ", allItems[from].Sign, allItems[from].RightNumber.ToString().PadLeft(maxDigits, ' '))).Font(font).FontSize(fontSize).UnderlineStyle(UnderlineStyle.thick).Append(gap).Font(font).FontSize(fontSize);
            from++;
              }

              if (row != rowCount - 1)
              {
            for (int i = 0; i < spaceLinesBetweenItem; i++)
            {
              lastLine = doc.InsertParagraph();
            }
              }
            }

            if (page != numberOfPage - 1 && addPageBreak)
            {
              lastLine.InsertPageBreakAfterSelf();
            }
              }
              doc.Save();
        }
Beispiel #15
0
        public static void Flatten(this XElement e, XName name, List<XElement> flat)
        {
            // Add this element (without its children) to the flat list.
            XElement clone = CloneElement(e);
            clone.Elements().Remove();

            // Filter elements using XName.
            if (clone.Name == name)
                flat.Add(clone);

            // Process the children.
            if (e.HasElements)
                foreach (XElement elem in e.Elements(name)) // Filter elements using XName
                    elem.Flatten(name, flat);
        }
 protected string ClosestMatch(string target, List<string> options)
 {
     int lowest = LevDistance.Compute(target, options[0]);
     string selectedVal = string.Empty;
     foreach (string option in options)
     {
         int currentDist = LevDistance.Compute(target, option);
         if (currentDist < lowest)
         {
             lowest = currentDist;
             selectedVal = option;
         }
     }
     return selectedVal;
 }
Beispiel #17
0
 /// <summary>
 /// 读取ERP系统配置信息
 /// </summary>
 /// <returns>DataTable</returns>
 public static void SaveConfig(List<SystemInfo> list)
 {
     System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
     doc.Load(xmlPath);
     XmlNode root = doc.SelectSingleNode("/Systems");
     root.InnerXml = "";
     XmlElement element = null;
     foreach (SystemInfo entity in list)
     {
         element = doc.CreateElement("System");
         element.SetAttribute("name", entity.SystemName);
         element.SetAttribute("code", entity.Index);
         element.SetAttribute("tablename", entity.TableName);
         element.SetAttribute("isDefault", entity.IsDefault?"1":"0");
         root.AppendChild(element);
     }
     doc.Save(xmlPath);
 }
        private static void parseFile(DocX file)
        {
            string initiator = file.CustomProperties.Where(x => x.Value.Name == "ФИО инициатора").First().Value.Value.ToString();
              string phone = file.CustomProperties.Where(x => x.Value.Name == "Телефон инициатора").First().Value.Value.ToString();
              string date = file.CustomProperties.Where(x => x.Value.Name == "Текущая дата").First().Value.Value.ToString();
              string bankroll = file.CustomProperties.Where(x => x.Value.Name == "Средства").First().Value.Value.ToString();
              string department = file.CustomProperties.Where(x => x.Value.Name == "Р*Подразделение...*Наименование").First().Value.Value.ToString();
              string content = file.CustomProperties.Where(x => x.Value.Name == "Аннотация").First().Value.Value.ToString();
              string financing = file.CustomProperties.Where(x => x.Value.Name == "Финансирование").First().Value.Value.ToString();

            List<item> items = new List<item>();
              var equipmentTable = file.Tables[0];
            for (int i = 1; i < equipmentTable.Rows.Count; i++)
            {
              items.Add(manageNotesHandler.createDirItem(equipmentTable.Rows[i].Cells[0].Paragraphs.First().Text, Convert.ToInt32(equipmentTable.Rows[i].Cells[1].Paragraphs.First().Text), equipmentTable.Rows[i].Cells[2].Paragraphs.First().Text));
            }
            manageNotesHandler.addDirNote(content, department, initiator, phone, date, bankroll, financing, items);
        }
        private void BuildActivities(DocX body, List<ActivityWrapper> rootActivities)
        {
            for (int i = 0; i < rootActivities.Count; i++)
            {
                ActivityWrapper wrapper = rootActivities[i];
                if (wrapper.IsRoot)
                    body.DocumentRootActivity(wrapper.Name);
                else
                    body.DocumentCompositeActivity(wrapper.Name);
                var activityDetails = wrapper.GetActivitySpecificDetails(_rulesExtractor.RuleDefinitions);

                body.DocumentDescription(wrapper.GetDescription());
                body.DocumentPlaceholders("Placeholder for Workflow Snapshot");
                body.DocumentDependencies(wrapper.GetDependentList().ToCsv());
                body.DocumentPlaceholders("Placeholder for Code/UI Snapshot");
                body.DocumentDescription(activityDetails);

                if (wrapper.Children.Count > 0) // has some child activities
                {
                    // composite activity with children
                    for (int childCount = 0; childCount < wrapper.Children.Count; childCount++)
                    {
                        ActivityWrapper childActivity = wrapper.Children[childCount];
                        if (LevelToBeCaptured == -1)
                        {
                            DocumentActivity(body, childActivity);
                            BuildActivities(body, childActivity.Children);
                        }
                        else // check for level
                        {
                            if (childActivity.Children.Count > 0 && childActivity.Path.Split('.').Length <= LevelToBeCaptured)
                            {
                                DocumentActivity(body, childActivity);
                                BuildActivities(body, childActivity.Children); // composite activity with children
                            }
                            else if (childActivity.Children.Count > 0 && childActivity.Path.Split('.').Length > LevelToBeCaptured) // gone till 3rd level, so just document this
                            {
                                DocumentActivity(body, childActivity);
                            }
                        }
                    }
                }
            }
        }
        protected override void RenderSectionText(string text)
        {
            StringBuilder builder = new StringBuilder();

            string[] lines = text.Split('\n');

            foreach (string line in lines)
            {
                if (line.StartsWith("-"))
                {
                    break;
                }
                else
                {
                    builder.AppendLine(line);
                }
            }

            List<ProsAndCons> prosAndConsList = new List<ProsAndCons>();

            for (int i = 0; i < lines.Length; i++)
            {
                string line = lines[i];

                if (line.StartsWith("- "))
                {
                    ProsAndCons prosAndCons = new ProsAndCons();

                    prosAndCons.Title = line.TrimStart("- ".ToCharArray());

                    prosAndCons.Pros = FindPros(i, lines).ToList();

                    prosAndCons.Cons = FindCons(i, lines).ToList();

                    prosAndConsList.Add(prosAndCons);
                }
            }

            RenderParagraph(builder.ToString(), _formatting.SectionText);

            RenderProsAndCons(prosAndConsList);
        }
        public override List<PrintingHint> SelectValidpHint(List<PrintingHint> pHint, double smallerCalculatedDCutLessZero, double smallerCalculatedDCut)
        {
            List<PrintingHint> pHint1;

            pHint1 = pHint.Where(x => x.DCut2 / 2 >= this.MinDCut
                    && x.DCut2 / 2 <= this.MaxDCut && (x.DCut1 >= x.DCut2 / 2 || (x.DCut1 == 0 && x.MaxGain1 == 1))).ToList();

            if (pHint1.Count <= 1)
            {
                //fascette gommate
                if (MinDCut == 0 && MaxDCut == 0)
                {
                    var pHint2 = pHint.Where(x => x.DCut2 / 2 == smallerCalculatedDCutLessZero * -1);
                    pHint1 = pHint.Where(x => x.DCut2 / 2 >= 0 && x.DCut2 / 2 <= smallerCalculatedDCut && (x.DCut1 >= x.DCut2 / 2 || x.DCut1 == 0)).ToList();
                    var pHint3 = pHint1.Union(pHint2);
                    pHint1 = pHint3.ToList();
                }
                else
                {
                    var smaller = pHint.Where(x => (x.DCut1 >= x.DCut2 / 2) || x.DCut1 == 0).Select(x => x.DeltaDCut2).Min();
                    var pHintLast1 = pHint.Where(x => x.DeltaDCut2 == smaller && (x.DCut1 >= x.DCut2 / 2 || x.DCut1 == 0));

                    try
                    {
                        var smaller2 = pHint.Where(x => (x.DCut1 >= x.DCut2 / 2 || x.DCut1 == 0) && x.DeltaDCut2 != smaller).Select(x => x.DeltaDCut2).Min();
                        var pHintLast2 = pHint.Where(x => x.DeltaDCut2 == smaller2 && x.DeltaDCut2 != smaller && (x.DCut1 >= x.DCut2 / 2 || x.DCut1 == 0));

                        pHint1 = pHintLast1.Union(pHintLast2).ToList();

                    }
                    catch (Exception)
                    {
                        pHint1 = pHintLast1.ToList();

                    }
                    //                    pHint1 = pHint.Where(x => x.DCut2/2 >= 0 && x.DCut2/2 <= smallerCalculatedDCut && (x.DCut1 >= x.DCut2/2 || x.DCut1 == 0)).ToList();
                }
            }

            return pHint1;

        }
Beispiel #22
0
        internal void GetParagraphsRecursive(XElement Xml, ref int index, ref List<Paragraph> paragraphs)
        {
            // sdtContent are for PageNumbers inside Headers or Footers, don't go any deeper.
            //if (Xml.Name.LocalName == "sdtContent")
            //    return;

            if (Xml.Name.LocalName == "p")
            {
                paragraphs.Add(new Paragraph(Document, Xml, index));

                index += HelperFunctions.GetText(Xml).Length;
            }

            else
            {
                if (Xml.HasElements)
                    foreach (XElement e in Xml.Elements())
                        GetParagraphsRecursive(e, ref index, ref paragraphs);
            }
        }
Beispiel #23
0
        public override List<ProductPartTask> GetInitalizedPartTask()
        {
            var tsksInPart = new List<ProductPartTask>();

            ProductPartTask pt;

            String[] codTypeOfTasks = { "STAMPAMORBIDO" };

            foreach (var item in codTypeOfTasks)
            {
                pt = new ProductPartTask();
                //default selection
                pt.OptionTypeOfTask = SystemTaskList.FirstOrDefault(x => x.CodTypeOfTask == item).OptionTypeOfTasks.FirstOrDefault(y => y.CodOptionTypeOfTask == item + "_NO");
                pt.CodOptionTypeOfTask = pt.OptionTypeOfTask.CodOptionTypeOfTask;
                pt.Hidden = true;
                tsksInPart.Add(pt);
            }

            return tsksInPart;
        }
Beispiel #24
0
        /// <summary>
        /// 从中XML读取物理图信息
        /// </summary>
        /// <returns> List</returns>
        public List<PhysicalDiagramInfo> GetPDInfo()
        {
            try
            {
                List<PhysicalDiagramInfo> PDList = new List<PhysicalDiagramInfo>();
                DocX doc = InitDocX();
                if (mTables == null)
                {
                    mTables = GetTableInfo();
                }
                PhysicalDiagramInfo pdInfo = new PhysicalDiagramInfo();
                string pid = System.Guid.NewGuid().ToString();
                pdInfo.Id = pid;
                pdInfo.Name = "所有数据";
                PDList.Add(pdInfo);

                PhysicalDiagramInfo pd = new PhysicalDiagramInfo();
                string pid1 = System.Guid.NewGuid().ToString();
                pd.Id = pid1;
                pd.Name = "数据表";
                pd.PhyParentId = pid;
                PDList.Add(pd);

                foreach (TableInfo t in mTables)
                {
                    pd = new PhysicalDiagramInfo();
                    pd.Id = System.Guid.NewGuid().ToString();
                    pd.Name = t.Code;
                    pd.IfEnd = true;
                    pd.PhyParentId = pid1;
                    PDList.Add(pd);

                }
                return PDList;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        protected void btn_Merge_Click(object sender, EventArgs e)
        {
            try
            {
                SPList l = SPContext.Current.Web.Lists[new Guid(ddl_Lists.SelectedValue)];

                SPFolder f = SPContext.Current.Web.Folders[ddl_Destination.SelectedValue];

                List<string> visFields = new List<string>();
                visFields = GetVisibleColumns(l.DefaultView.ViewFields);
                using (DocX doc = DocX.Load(SPContext.Current.Web.GetFile(new Guid(lb_Templates.SelectedValue)).OpenBinaryStream()))
                {
                    foreach (SPListItem li in l.Items)
                    {
                        foreach (string field in visFields)
                        {
                            if (li[field] != null)
                            {
                                doc.ReplaceText(GetRepaceableText(field), li[field].ToString(), false, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                            }
                            else if(field == "Today's Date") //special functionality for today's date
                            {
                                doc.ReplaceText(GetRepaceableText(field), DateTime.Now.ToShortDateString(), false, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                            }
                        }

                        MemoryStream ms = new MemoryStream();
                        doc.SaveAs(ms);
                        //HERE  let users choose field that
                        f.Files.Add(li["Name"].ToString() + ".docx", ms, true);
                    }
                }
                lbl_Result.Text = "Merge complete! " + l.Items.Count + " documents created.";
            }
            catch(Exception ex)
            {
                lbl_Result.Text = "ERROR: " + ex.Message + System.Environment.NewLine + ex.StackTrace;
            }
        }
Beispiel #26
0
        internal Hyperlink(DocX document, XElement instrText, List<XElement> runs)
            : base(document, null)
        {
            this.type = 1;
            this.instrText = instrText;
            this.runs = runs;

            try
            {
                int start = instrText.Value.IndexOf("HYPERLINK \"") + "HYPERLINK \"".Length;
                int end = instrText.Value.IndexOf("\"", start);
                if (start != -1 && end != -1)
                {
                    this.uri = new Uri(instrText.Value.Substring(start, end - start), UriKind.Absolute);

                    StringBuilder sb = new StringBuilder();
                    HelperFunctions.GetTextRecursive(new XElement(XName.Get("temp", DocX.w.NamespaceName), runs), ref sb);
                    this.text = sb.ToString();
                }
            }

            catch (Exception e){throw e;}
        }
        public void printinword(double[] res,string fileName,List<Product> products)
        {
            int i;
            string text = "Исходные данные:\n";
			text += "Ограничения по используемым компонентам:\n";
			text += "Номер компонента   Ограничение компонента\n";

			for(int j = 0; j < products[0].Components.Count; j++)
			{
				text += "\t" + products[0].Components[j].ID + "\t\t";
				text += products[0].Components[j].Limit + "\n";
			}
			text += "\n\n";
			for(i = 0; i < products.Count; i++)
			{
				text += "\nНомер продукции: " + products[i].ID + "\n";
				text += "Цена: "+products[i].Price + "\n";
				text +="Ограничение: " + products[i].Limit + "\n";
				text += "\t Номер компонента   Расход компонента\n";

				for(int j = 0; j < products[i].Components.Count; j++)
				{
               text += "\t\t" + products[i].Components[j].ID + "\t\t";
					text += products[i].Components[j].Count + "\n";
				}
			}
			text += "\n\n";
			text += "Задача решена.\nОптимальное производство: ";
			var doc = DocX.Create(fileName);
			for (i = 1; i <= res.Length-1; i++)
			    {
				  text += "\n Количество продукции № " + Convert.ToString(i) +" : "+ Convert.ToString(res[i]);
             }
            text += "\n Получаемый при этом доход, равен  " + Convert.ToString(res[0]) + " денежных единиц";
            doc.InsertParagraph(text);
            doc.Save();
        }
        protected void ddl_Lists_SelectedIndexChanged(object sender, EventArgs e)
        {
            SPList l = SPContext.Current.Web.Lists[new Guid(ddl_Lists.SelectedValue)];

            List<String> names = GetVisibleColumns(l.DefaultView.ViewFields);
            DocX doc = DocX.Load(SPContext.Current.Web.GetFile(new Guid(lb_Templates.SelectedValue)).OpenBinaryStream());

            List<string> templateFields = GetTemplateFields(doc.Text);
            List<RowData> myData = new List<RowData>();

            foreach (String template in templateFields)
            {
                RowData rd = new RowData();
                rd.TemplateField = template;
                rd.SelectedValue = ClosestMatch(template, names);
                rd.ColumnNames = names;
                myData.Add(rd);
            }
            ObjectDataSource ods = new ObjectDataSource();
            ///ods.select
            gv_Mappings.DataSource = myData;
            gv_Mappings.DataBind();
            ddl_Destination.Enabled = true;
        }
Beispiel #29
0
        internal void GetParagraphsRecursive(XElement Xml, ref int index, ref List<Paragraph> paragraphs, bool deepSearch=false)
        {
            // sdtContent are for PageNumbers inside Headers or Footers, don't go any deeper.
            //if (Xml.Name.LocalName == "sdtContent")
            //    return;
            var keepSearching = true;
            if (Xml.Name.LocalName == "p")
            {
                paragraphs.Add(new Paragraph(Document, Xml, index));

                index += HelperFunctions.GetText(Xml).Length;
                if (!deepSearch)
                    keepSearching = false;
            }
            if (keepSearching && Xml.HasElements)
            {
                foreach (XElement e in Xml.Elements())
                {
                    GetParagraphsRecursive(e, ref index, ref paragraphs, deepSearch);
                }
            }
        }
Beispiel #30
0
        public string[] ValidateBookmarks(params string[] bookmarkNames)
        {
            var headers = new[] {Document.Headers.first, Document.Headers.even, Document.Headers.odd}.Where(h => h != null).ToList();
            var footers = new[] {Document.Footers.first, Document.Footers.even, Document.Footers.odd}.Where(f => f != null).ToList();

            var nonMatching = new List<string>();
            foreach (var bookmarkName in bookmarkNames)
            {
                if (headers.SelectMany(h => h.Paragraphs).Any(p => p.ValidateBookmark(bookmarkName))) return new string[0];
                if (footers.SelectMany(h => h.Paragraphs).Any(p => p.ValidateBookmark(bookmarkName))) return new string[0];
                if (Paragraphs.Any(p => p.ValidateBookmark(bookmarkName))) return new string[0];
                nonMatching.Add(bookmarkName);
            }

            return nonMatching.ToArray();
        }