Ejemplo n.º 1
0
        /// <summary>
        /// Append QuestionRequirement of Question
        /// </summary>
        /// <param name="q"></param>
        /// <param name="section"></param>
        private static void AppendTestQuestion(Candidate q, Document doc, int questionNumber, ref object missing)
        {
            try
            {
                Paragraph paraQuestionNumber = doc.Content.Paragraphs.Add(ref missing);
                string    question           = "Question " + questionNumber + ":";
                paraQuestionNumber.Range.Text = question;
                Range questionNumberRange = doc.Range(paraQuestionNumber.Range.Start, paraQuestionNumber.Range.Start + question.Length);
                questionNumberRange.Font.Bold      = 1;
                questionNumberRange.Font.Underline = WdUnderline.wdUnderlineSingle;

                paraQuestionNumber.Format.Alignment = WdParagraphAlignment.wdAlignParagraphLeft;
                paraQuestionNumber.Range.Font.Name  = "Arial";

                paraQuestionNumber.Range.InsertParagraphAfter();

                Paragraph paraContent = doc.Content.Paragraphs.Add(ref missing);
                paraContent.Range.Font.Bold      = 0;
                paraContent.Range.Font.Underline = WdUnderline.wdUnderlineNone;
                paraContent.Range.Text           = q.QuestionRequirement;
                paraContent.Format.Alignment     = WdParagraphAlignment.wdAlignParagraphLeft;
                paraContent.Range.InsertParagraphAfter();

                List <string> images    = q.Illustration;
                int           i         = 0;
                string        imageName = AppDomain.CurrentDomain.BaseDirectory + @"/" + q.CandidateId + ".bmp";
                foreach (var image in images)
                {
                    if (ImageUtils.Base64ToImage(image) != null)
                    {
                        Image img     = ImageUtils.Base64ToImage(image);
                        Image tempImg = new Bitmap(img);
                        tempImg.Save(imageName);
                        Paragraph paraImage = doc.Content.Paragraphs.Add(ref missing);
                        paraImage.Range.InlineShapes.AddPicture(imageName);
                        paraImage.Format.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        Paragraph paraImageDescription = doc.Content.Paragraphs.Add(ref missing);
                        paraImageDescription.Range.Text       = "Picture " + questionNumber + "." + (++i) + "";
                        paraImageDescription.Format.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                        paraImageDescription.Range.InsertParagraphAfter();
                    }
                }
                if (File.Exists(imageName))
                {
                    File.Delete(imageName);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 2
0
        /*
         * Throws Excption with error code
         */
        public String SaveInDirectory()
        {
            if ((true == StringUtils.IsNullOrEmpty(this.Directory)) ||
                (true == StringUtils.IsNullOrEmpty(this.FileName)) ||
                (true == StringUtils.IsNullOrEmpty(this.FileContent)))
            {
                throw new Exception(ErrorsCode.TARGET_FILE_MISSING_DATA.ToString());
            }
            // Image path
            String basePath = CsConstatnts.IMAGES_BASE_PATH; // HttpContext.Current.Server.MapPath("/../../Pictures");

            if (true == StringUtils.IsNullOrEmpty(basePath))
            {
                basePath = CsConstatnts.IMAGES_BASE_PATH;
            }
            String path = Path.Combine(basePath, Directory);

            //Check if filePath exist
            if (false == System.IO.Directory.Exists(path))
            {
                System.IO.Directory.CreateDirectory(path); //Create filePath if it doesn't exist
            }

            String imagePath = Path.Combine(path, this.FileName);

            // Check whether this file already exist
            if (true == System.IO.File.Exists(imagePath))
            {
                throw new Exception(ErrorsCode.TARGET_FILE_ALREADY_EXIST.ToString());
            }

            // Convert Base64 String to Image
            Image image = ImageUtils.Base64ToImage(this.FileContent);

            if (null == image)
            {
                return(null);
            }

            // Saving the image
            image.Save(imagePath);

            return(Path.Combine(this.Directory, this.FileName));
        }
Ejemplo n.º 3
0
        internal void CopySharedToLocal(int id)
        {
            string        Id            = id.ToString();
            ClipboardData clipboardData = sharedClipboard[Id];

            if (clipboardData != null)
            {
                switch (clipboardData.Type)
                {
                case ClipboardDataType.TEXT:
                    Clipboard.SetText(clipboardData.Data);
                    break;

                case ClipboardDataType.IMAGE:
                    Clipboard.SetImage(ImageUtils.Base64ToImage(clipboardData.Data));
                    break;

                case ClipboardDataType.FILES:
                    StringCollection     filePaths = new StringCollection();
                    List <ClipboardFile> files     = JsonConvert.DeserializeObject <List <ClipboardFile> >(clipboardData.Data);
                    foreach (ClipboardFile clipboardFile in files)
                    {
                        string path = FileUtils.CreateTemporaryFile(clipboardFile.Name, clipboardFile.Data);
                        if (path != null)
                        {
                            filePaths.Add(path);
                        }
                    }
                    Clipboard.SetFileDropList(filePaths);
                    break;

                default:
                    Console.WriteLine("Unknown clipboard data type");
                    break;
                }
            }
        }
Ejemplo n.º 4
0
        void OnSharedClipboardChanged(object sender, ClipboardData clipboardData)
        {
            BeginInvoke((MethodInvoker) delegate
            {
                if (clipboardData != null)
                {
                    Console.WriteLine("Shared clipboard changed:");
                    Console.WriteLine("    Id: " + clipboardData.Id);
                    Console.WriteLine("    Sender: " + clipboardData.Sender);
                    Console.WriteLine("    Type: " + clipboardData.Type);

                    if (clipboardData.Id == copyHotKeyRegisterId1.ToString())
                    {
                        lbShared1Name.Text = clipboardData.Sender;

                        switch (clipboardData.Type)
                        {
                        case ClipboardDataType.TEXT:
                            string text = clipboardData.Data;

                            tbSharedClipboard1Text.Text    = text;
                            tbSharedClipboard1Text.Visible = true;
                            lbShared1Text.Visible          = true;

                            pbSharedClipboard1Image.Image   = null;
                            pbSharedClipboard1Image.Visible = false;
                            lbShared1Image.Visible          = false;

                            lbSharedClipboard1FileDropList.Items.Clear();
                            lbSharedClipboard1FileDropList.Visible = false;
                            lbShared1Files.Visible = false;
                            break;

                        case ClipboardDataType.IMAGE:
                            Image image = ImageUtils.Base64ToImage(clipboardData.Data);

                            tbSharedClipboard1Text.Text    = null;
                            tbSharedClipboard1Text.Visible = false;
                            lbShared1Text.Visible          = false;

                            pbSharedClipboard1Image.Image   = image;
                            pbSharedClipboard1Image.Visible = true;
                            lbShared1Image.Visible          = true;

                            lbSharedClipboard1FileDropList.Items.Clear();
                            lbSharedClipboard1FileDropList.Visible = false;
                            lbShared1Files.Visible = false;
                            break;

                        case ClipboardDataType.FILES:
                            List <ClipboardFile> files = JsonConvert.DeserializeObject <List <ClipboardFile> >(clipboardData.Data);

                            tbSharedClipboard1Text.Text    = null;
                            tbSharedClipboard1Text.Visible = false;
                            lbShared1Text.Visible          = false;

                            pbSharedClipboard1Image.Image   = null;
                            pbSharedClipboard1Image.Visible = false;
                            lbShared1Image.Visible          = false;

                            lbSharedClipboard1FileDropList.Items.Clear();
                            foreach (ClipboardFile clipboardFile in files)
                            {
                                lbSharedClipboard1FileDropList.Items.Add(clipboardFile.Name);
                            }
                            lbSharedClipboard1FileDropList.Visible = true;
                            lbShared1Files.Visible = true;
                            break;

                        default:
                            Console.WriteLine("Unknown clipboard data type");
                            break;
                        }
                    }
                    else if (clipboardData.Id == copyHotKeyRegisterId2.ToString())
                    {
                        lbShared2Name.Text = clipboardData.Sender;

                        switch (clipboardData.Type)
                        {
                        case ClipboardDataType.TEXT:
                            string text = clipboardData.Data;

                            tbSharedClipboard2Text.Text    = text;
                            tbSharedClipboard2Text.Visible = true;
                            lbShared2Text.Visible          = true;

                            pbSharedClipboard2Image.Image   = null;
                            pbSharedClipboard2Image.Visible = false;
                            lbShared2Image.Visible          = false;

                            lbSharedClipboard2FileDropList.Items.Clear();
                            lbSharedClipboard2FileDropList.Visible = false;
                            lbShared2Files.Visible = false;
                            break;

                        case ClipboardDataType.IMAGE:
                            Image image = ImageUtils.Base64ToImage(clipboardData.Data);

                            tbSharedClipboard2Text.Text    = null;
                            tbSharedClipboard2Text.Visible = false;
                            lbShared2Text.Visible          = false;

                            pbSharedClipboard2Image.Image   = image;
                            pbSharedClipboard2Image.Visible = true;
                            lbShared2Image.Visible          = true;

                            lbSharedClipboard2FileDropList.Items.Clear();
                            lbSharedClipboard2FileDropList.Visible = false;
                            lbShared2Files.Visible = false;
                            break;

                        case ClipboardDataType.FILES:
                            List <ClipboardFile> files = JsonConvert.DeserializeObject <List <ClipboardFile> >(clipboardData.Data);

                            tbSharedClipboard2Text.Text    = null;
                            tbSharedClipboard2Text.Visible = false;
                            lbShared2Text.Visible          = false;

                            pbSharedClipboard2Image.Image   = null;
                            pbSharedClipboard2Image.Visible = false;
                            lbShared2Image.Visible          = false;

                            lbSharedClipboard2FileDropList.Items.Clear();
                            foreach (ClipboardFile clipboardFile in files)
                            {
                                lbSharedClipboard2FileDropList.Items.Add(clipboardFile.Name);
                            }
                            lbSharedClipboard2FileDropList.Visible = true;
                            lbShared2Files.Visible = true;
                            break;

                        default:
                            Console.WriteLine("Unknown clipboard data type");
                            break;
                        }
                    }
                    else if (clipboardData.Id == copyHotKeyRegisterId3.ToString())
                    {
                        lbShared3Name.Text = clipboardData.Sender;

                        switch (clipboardData.Type)
                        {
                        case ClipboardDataType.TEXT:
                            string text = clipboardData.Data;

                            tbSharedClipboard3Text.Text    = text;
                            tbSharedClipboard3Text.Visible = true;
                            lbShared3Text.Visible          = true;

                            pbSharedClipboard3Image.Image   = null;
                            pbSharedClipboard3Image.Visible = false;
                            lbShared3Image.Visible          = false;

                            lbSharedClipboard3FileDropList.Items.Clear();
                            lbSharedClipboard3FileDropList.Visible = false;
                            lbShared3Files.Visible = false;
                            break;

                        case ClipboardDataType.IMAGE:
                            Image image = ImageUtils.Base64ToImage(clipboardData.Data);

                            tbSharedClipboard3Text.Text    = null;
                            tbSharedClipboard3Text.Visible = false;
                            lbShared3Text.Visible          = false;

                            pbSharedClipboard3Image.Image   = image;
                            pbSharedClipboard3Image.Visible = true;
                            lbShared3Image.Visible          = true;

                            lbSharedClipboard3FileDropList.Items.Clear();
                            lbSharedClipboard3FileDropList.Visible = false;
                            lbShared3Files.Visible = false;
                            break;

                        case ClipboardDataType.FILES:
                            List <ClipboardFile> files = JsonConvert.DeserializeObject <List <ClipboardFile> >(clipboardData.Data);

                            tbSharedClipboard3Text.Text    = null;
                            tbSharedClipboard3Text.Visible = false;
                            lbShared3Text.Visible          = false;

                            pbSharedClipboard3Image.Image   = null;
                            pbSharedClipboard3Image.Visible = false;
                            lbShared3Image.Visible          = false;

                            lbSharedClipboard3FileDropList.Items.Clear();
                            foreach (ClipboardFile clipboardFile in files)
                            {
                                lbSharedClipboard3FileDropList.Items.Add(clipboardFile.Name);
                            }
                            lbSharedClipboard3FileDropList.Visible = true;
                            lbShared3Files.Visible = true;
                            break;

                        default:
                            Console.WriteLine("Unknown clipboard data type");
                            break;
                        }
                    }
                }
            }, null);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Append QuestionRequirement of Question
        /// </summary>
        /// <param name="q"></param>
        /// <param name="section"></param>
        static private void AppendSection(Candidate q, Section section, int questionNumber, int candidateNumber, ref object missing)
        {
            //Insert Title of question
            Paragraph paraTitle = section.Range.Paragraphs.Add(ref missing);

            paraTitle.Range.Text                       = "Question " + questionNumber + "." + candidateNumber + ":";
            paraTitle.Range.Font.Name                  = "Arial";
            paraTitle.Range.Font.Bold                  = 1;
            paraTitle.Range.Font.Underline             = WdUnderline.wdUnderlineSingle;
            paraTitle.Range.ParagraphFormat.LeftIndent = 0;
            paraTitle.Format.Alignment                 = WdParagraphAlignment.wdAlignParagraphLeft;
            paraTitle.Range.InsertParagraphAfter();

            //Insert question requirement
            if (!string.IsNullOrEmpty(q.QuestionRequirement))
            {
                Paragraph paraRequirement = section.Range.Paragraphs.Add(ref missing);
                q.QuestionRequirement = q.QuestionRequirement.Trim();
                //if (!q.QuestionRequirement.EndsWith(".")) q.QuestionRequirement = string.Concat(q.QuestionRequirement, ".");
                paraRequirement.Range.Text                       = q.QuestionRequirement;
                paraRequirement.Range.Font.Name                  = "Arial";
                paraRequirement.Range.Font.Bold                  = 0;
                paraRequirement.Range.Font.Underline             = WdUnderline.wdUnderlineNone;
                paraRequirement.Range.Font.Italic                = 0;
                paraRequirement.Range.ParagraphFormat.LeftIndent = 0;
                paraRequirement.Format.Alignment                 = WdParagraphAlignment.wdAlignParagraphLeft;
                paraRequirement.Range.InsertParagraphAfter();
            }

            //Insert illustration images
            List <string> images = q.Illustration;
            int           i      = 0;

            foreach (var image in images)
            {
                if (ImageUtils.Base64ToImage(image) != null)
                {
                    Image  img       = ImageUtils.Base64ToImage(image);
                    Image  tempImg   = new Bitmap(img);
                    string imageName = AppDomain.CurrentDomain.BaseDirectory + @"/tmpImg.bmp";
                    tempImg.Save(imageName);
                    Paragraph   paraImage    = section.Range.Paragraphs.Add(ref missing);
                    InlineShape pictureShape = paraImage.Range.InlineShapes.AddPicture(imageName);
                    paraImage.Format.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
                    paraImage.Range.ParagraphFormat.LeftIndent = 0;

                    Paragraph paraImageDescription = section.Range.Paragraphs.Add(ref missing);
                    paraImageDescription.Range.Text                       = "Picture " + questionNumber + "." + (++i) + "";
                    paraImageDescription.Format.Alignment                 = WdParagraphAlignment.wdAlignParagraphCenter;
                    paraImageDescription.Range.Font.Bold                  = 0;
                    paraImageDescription.Range.Font.Underline             = WdUnderline.wdUnderlineNone;
                    paraImageDescription.Range.ParagraphFormat.LeftIndent = 0;
                    paraImageDescription.Range.InsertParagraphAfter();
                }
            }

            //Insert Solution query
            InsertBlock("Solution: ", q.Solution, true, section, ref missing);

            //Insert Test query
            InsertBlock("Test query: ", q.TestQuery, true, section, ref missing);
        }