Exemple #1
0
 public static Boolean writeFile(string outputFileName, WinnerGroup wg)
 {
     try
     {
         FileStream   fs = new FileStream(outputFileName, FileMode.Create);
         StreamWriter sw = new StreamWriter(fs);
         sw.WriteLine(wg.theme);
         for (int i = 0; i < wg.winnerGroup.Count; i++)
         {
             if (i < wg.WinnerCondition.firstPrizeNumber)
             {
                 sw.WriteLine("一等奖:" + wg.winnerGroup[i].name + "(" + wg.winnerGroup[i].ID + ")");
             }
             else if (i >= wg.WinnerCondition.firstPrizeNumber && i < wg.WinnerCondition.firstPrizeNumber + wg.WinnerCondition.secondPrizeNumber)
             {
                 sw.WriteLine("二等奖:" + wg.winnerGroup[i].name + "(" + wg.winnerGroup[i].ID + ")");
             }
             else
             {
                 sw.WriteLine("三等奖:" + wg.winnerGroup[i].name + "(" + wg.winnerGroup[i].ID + ")");
             }
         }
         sw.Flush();
         sw.Close();
         fs.Close();
         return(true);
     }
     catch (Exception e)
     {
         Console.WriteLine(e.ToString());
         return(false);
     }
 }
Exemple #2
0
 static Boolean writeFile(String outputFileName, WinnerGroup wg)
 {
     try
     {
         FileStream   fs = new FileStream(outputFileName, FileMode.Create);
         StreamWriter sw = new StreamWriter(fs);
         sw.WriteLine(wg.theme);
         for (int i = 0; i < wg.winnerGroup.Count; i++)
         {
             sw.WriteLine(i + 1 + ":" + wg.winnerGroup[i].name + "(" + wg.winnerGroup[i].ID + ")");
         }
         sw.Flush();
         sw.Close();
         fs.Close();
         return(true);
     }
     catch (Exception e)
     {
         return(false);
     }
 }
Exemple #3
0
        private void LuckyDrawButton_Click(object sender, RoutedEventArgs e)
        {
            if (FilePathLabel.Content.Equals("NULL"))
            {
                MessageBox.Show("文件为空,请选择文件!");
                return;//放弃
            }
            if (Key.Text.Equals(""))
            {
                MessageBox.Show("活动关键字为空,请输入关键字!");
                return;//放弃
            }
            if (getSelectedType() == 0)
            {
                MessageBox.Show("请选择抽奖人员类型!");
                return;//放弃
            }

            Condition condition = new Condition();

            condition.type              = getSelectedType();
            condition.frequency         = FrequenceNum.Text.Equals("") ? 1 : Int32.Parse(FrequenceNum.Text);
            condition.starTime          = StartDate.SelectedDate ?? DateTime.Now;
            condition.endTime           = EndDate.SelectedDate ?? DateTime.Now.AddDays(7);//默认七天
            condition.firstPrizeNumber  = FirstPrizeNum.Text.Equals("") ? 1 : Int32.Parse(FirstPrizeNum.Text);
            condition.secondPrizeNumber = SecondPrizeNum.Text.Equals("") ? 2 : Int32.Parse(SecondPrizeNum.Text);
            condition.thirdPrizeNumber  = ThirdPrizeNum.Text.Equals("") ? 3 : Int32.Parse(ThirdPrizeNum.Text);
            StringBuilder keyText = new StringBuilder("#");

            keyText.Append(Key.Text);
            keyText.Append("#");
            condition.key = keyText.ToString();

            //Console.WriteLine("FrequenceNum "+ frequence);
            //Console.WriteLine("startDate " + startDate);
            //Console.WriteLine("endDate " + endDate);
            //Console.WriteLine("firstPrizeNum " + firstPrizeNum);
            //Console.WriteLine("secondPrizeNum " + secondPrizeNum);
            //Console.WriteLine("thirdPrizeNum " + thirdPrizeNum);

            Channel a = new Channel(FileProcess.readFile(FilePathLabel.Content.ToString())); //构造群

            a.InitializeGroupMember();                                                       //构造成员
            lastResult = a.GetLuckyGuys(condition);

            MessageBox.Show("抽奖程序执行完毕,请跳转结果页进行查看.");
            StringBuilder tempString = new StringBuilder(lastResult.theme + "\n");

            for (int i = 0; i < lastResult.winnerGroup.Count; i++)
            {
                if (i < lastResult.WinnerCondition.firstPrizeNumber)
                {
                    tempString.Append("一等奖:" + lastResult.winnerGroup[i].name + "(" + lastResult.winnerGroup[i].ID + ")\n");
                }
                else if (i >= lastResult.WinnerCondition.firstPrizeNumber && i < lastResult.WinnerCondition.firstPrizeNumber + lastResult.WinnerCondition.secondPrizeNumber)
                {
                    tempString.Append("二等奖:" + lastResult.winnerGroup[i].name + "(" + lastResult.winnerGroup[i].ID + ")\n");
                }
                else
                {
                    tempString.Append("三等奖:" + lastResult.winnerGroup[i].name + "(" + lastResult.winnerGroup[i].ID + ")\n");
                }
            }
            ResultBox.Text = tempString.ToString();
        }
Exemple #4
0
        public static void OutputResultAsImage(WinnerGroup winnerGroup, string sImgPath)
        {
            using (Image image = (Image)Properties.Resources.ResourceManager.GetObject("winner"))
            {
                try
                {
                    Bitmap bitmap = new Bitmap(image);

                    int width = bitmap.Width, height = bitmap.Height;
                    //测试文字
                    string text = "一等奖 巴扎黑";
                    //string[] texts = {"一等奖 巴扎黑", "一等奖 巴扎黑", "一等奖 巴扎黑" , "一等奖 巴扎黑" , "一等奖 巴扎黑" , "一等奖 巴扎黑" , "一等奖 巴扎黑" , "一等奖 巴扎黑" };

                    Graphics g = Graphics.FromImage(bitmap);

                    g.DrawImage(bitmap, 0, 0);

                    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

                    g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

                    g.DrawImage(image, new Rectangle(0, 0, width, height), 0, 0, width, height, GraphicsUnit.Pixel);

                    Font  crFont = new Font("微软雅黑", 48, FontStyle.Bold);
                    SizeF sizef  = g.MeasureString(text, crFont);//得到文本的宽高

                    //背景位置(去掉了. 如果想用可以自己调一调 位置.)
                    //graphics.FillRectangle(new SolidBrush(Color.FromArgb(200, 255, 255, 255)), (width - crSize.Width) / 2, (height - crSize.Height) / 2, crSize.Width, crSize.Height);

                    SolidBrush semiTransBrush = new SolidBrush(Color.White); //new SolidBrush(Color.FromArgb(120, 177, 171, 171));

                    //将原点移动 到图片开始输出部分
                    float startY = height / 20 * 9;
                    g.TranslateTransform(0, startY);
                    //以原点为中心 转 -45度
                    //g.RotateTransform(-45);
                    float currentY = 0;
                    for (int i = 0; startY + currentY < image.Width && i < winnerGroup.winnerGroup.Count; currentY += sizef.Height + 10, i++)
                    {
                        string tempLine;
                        if (i < winnerGroup.WinnerCondition.firstPrizeNumber)
                        {
                            tempLine = $"一等奖:{winnerGroup.winnerGroup[i].name}({winnerGroup.winnerGroup[i].ID})";//输出的字符串
                        }
                        else if (i >= winnerGroup.WinnerCondition.firstPrizeNumber && i < winnerGroup.WinnerCondition.firstPrizeNumber + winnerGroup.WinnerCondition.secondPrizeNumber)
                        {
                            tempLine = $"二等奖:{winnerGroup.winnerGroup[i].name}({winnerGroup.winnerGroup[i].ID})";//输出的字符串
                        }
                        else
                        {
                            tempLine = $"三等奖:{winnerGroup.winnerGroup[i].name}({winnerGroup.winnerGroup[i].ID})"; //输出的字符串
                        }
                        sizef = g.MeasureString(tempLine, crFont);                                                //得到文本的宽高
                        g.DrawString(tempLine, crFont, semiTransBrush, new PointF((image.Width - sizef.Width) / 2, currentY));
                    }

                    //保存文件
                    bitmap.Save(sImgPath, System.Drawing.Imaging.ImageFormat.Jpeg);
                }
                catch (Exception e)
                {
                    Console.WriteLine();
                }
            }
        }