Exemple #1
0
 public MainViewModel()
 {
     serverSocket           = new ServerSocket();
     mainModel              = new MainModel();
     socketHandler          = SocketHandler.GetInstance;
     mySqlUser              = MySqlUser.GetInstance;
     mainModel.LaberText    = "停止";
     mainModel.ButtonText   = "启动";
     startCommand           = new CommandBase();
     startCommand.DoExecute = new Action <object>((o) => {
         if (MainModel.status == 0)
         {
             MainModel.status     = 1;
             mainModel.LaberText  = "运行中";
             mainModel.ButtonText = "停止";
             serverSocket.Start(mainModel.Port);
         }
         else
         {
             MainModel.status     = 0;
             mainModel.LaberText  = "停止";
             mainModel.ButtonText = "启动";
             serverSocket.Close();
         }
     });
     startCommand.DoCanExecute = new Func <object, bool>((o) => { return(true); });
 }
Exemple #2
0
        public IUser CreateUser(string symbol)
        {
            IUser result = null;

            switch (symbol)
            {
            case "sql":
                result = new SqlUser();
                break;

            case "mysql":
                result = new MySqlUser();
                break;
            }

            return(result);
        }
Exemple #3
0
        public void PDFGeneration()
        {
            MySqlConnection con1 = new MySqlConnection();

            //SqlConnection con1 = new SqlConnection();
            //con1.ConnectionString = ConfigurationManager.ConnectionStrings["DBconnection"].ConnectionString;
            //con1.ConnectionString = "Data Source = 123.176.34.15;port=4043;Integrated Security=False; Initial Catalog = survey; User ID = TestLogin; Password = ASD123!@#;";
            con1.ConnectionString = _base.Decrypt(ConfigurationManager.ConnectionStrings["MysqlPath"].ConnectionString);
            //SqlDataAdapter da = new SqlDataAdapter("select * from question where submitted =1 AND MailStatus=0", con1);
            MySqlDataAdapter da = new MySqlDataAdapter("select * from question where submitted =1 AND MailStatus=0", con1);
            DataTable        dt = new DataTable();

            da.Fill(dt);
            Base @base = new Base();



            foreach (DataRow dr in dt.Rows)
            {
                ReportDocument ss = new ReportDocument();
                ConnectionInfo myConnectionInfo = new ConnectionInfo();
                myConnectionInfo.AllowCustomConnection = true;
                myConnectionInfo.ServerName            = _base.Decrypt(ConfigurationManager.AppSettings["SERVERNAME"].ToString());
                myConnectionInfo.DatabaseName          = _base.Decrypt(ConfigurationManager.AppSettings["DATABASE"].ToString());
                myConnectionInfo.IntegratedSecurity    = Convert.ToBoolean(ConfigurationManager.AppSettings["INTEGRATEDSECURITY"].ToString());
                myConnectionInfo.UserID   = _base.Decrypt(ConfigurationManager.AppSettings["USERID"].ToString());
                myConnectionInfo.Password = _base.Decrypt(ConfigurationManager.AppSettings["PASSWORD"].ToString());
                myConnectionInfo.Type     = ConnectionInfoType.SQL;

                string Rpt_Path   = System.Web.Hosting.HostingEnvironment.MapPath(ConfigurationManager.AppSettings["rptLocation"].ToString());
                string outputPath = System.Web.Hosting.HostingEnvironment.MapPath(ConfigurationManager.AppSettings["OutputPath_pdf"].ToString());

                try
                {
                    JavaScriptSerializer scr  = new JavaScriptSerializer();
                    Question2            Que2 = (Question2)scr.Deserialize(dr["la_q2"].ToString().Replace("\\", ""), typeof(Question2));
                    Question4            Que4 = (Question4)scr.Deserialize(dr["la_q4"].ToString().Replace("\\", ""), typeof(Question4));
                    Question7            Que7 = (Question7)scr.Deserialize(dr["la_q7"].ToString().Replace("\\", ""), typeof(Question7));
                    question8            Que8 = (question8)scr.Deserialize(dr["la_q8"].ToString().Replace("\\", ""), typeof(question8));
                    //List<string> Que9 = (List<string>)scr.Deserialize(dr["la_q9"].ToString().Replace("\\", ""), typeof(List<string>));
                    Question11 Que11 = (Question11)scr.Deserialize(dr["la_q11"].ToString().Replace("\\", ""), typeof(Question11));
                    //Question15 Que15 = (Question15)scr.Deserialize(dr["la_q15"].ToString().Replace("\\", ""), typeof(Question15));
                    FQ1 fq1 = (FQ1)scr.Deserialize(dr["fq1"].ToString().Replace("\\", ""), typeof(FQ1));
                    FQ2 fq2 = (FQ2)scr.Deserialize(dr["fq2"].ToString().Replace("\\", ""), typeof(FQ2));
                    FQ3 fq3 = (FQ3)scr.Deserialize(dr["fq3"].ToString().Replace("\\", ""), typeof(FQ3));


                    string que1  = dr["la_q1"].ToString();
                    string que3  = dr["la_q3"].ToString();
                    string que5  = dr["la_q5"].ToString();
                    string que6  = dr["la_q6"].ToString();
                    string que9  = dr["la_q9"].ToString();
                    string que10 = dr["la_q10"].ToString();
                    string que12 = dr["la_q12"].ToString();
                    string que13 = dr["la_q13"].ToString();
                    string que14 = dr["la_q14"].ToString();
                    string que15 = dr["la_q15"].ToString();

                    String User_ID = dr["User_ID"].ToString();

                    con1.Open();
                    string       q    = "Select * from  users  WHERE User_ID = " + User_ID + " ";
                    MySqlCommand cmd3 = new MySqlCommand(q, con1);
                    //var a = cmd3.ExecuteScalar();

                    MySqlDataReader reader = cmd3.ExecuteReader();
                    MySqlUser       u      = new MySqlUser();
                    while (reader.Read())
                    {
                        u.FirstName   = reader.GetString("First_Name");
                        u.SecoundName = reader.GetString("Second_Name");
                        u.Email       = reader.GetString("Email");
                        u.Compnay     = reader.GetString("Company_Name");
                        u.UserName    = reader.GetString("User_Name");
                    }

                    con1.Close();

                    CrystalReport crypt = new CrystalReport();


                    crypt.SetParameterValue("Company_Name", u.Compnay);
                    crypt.SetParameterValue("User", u.FirstName + " " + u.SecoundName);
                    crypt.SetParameterValue("Promantus_POC", "Promantus");



                    crypt.SetParameterValue("Q4.1", Que4.la_q4_1);
                    crypt.SetParameterValue("Q4.2", Que4.la_q4_2);
                    crypt.SetParameterValue("Q4.3", Que4.la_q4_3);
                    //crypt.SetParameterValue("Q4.5", Que4.la_q4_5.ToString());

                    crypt.SetParameterValue("Q6", que6);

                    crypt.SetParameterValue("Q11", Que11.la_q11_1.ToString() + " , " + Que11.la_q11_2.ToString());

                    crypt.SetParameterValue("Q12", que12);

                    crypt.SetParameterValue("Q13", que13);

                    crypt.SetParameterValue("Q14", que14);

                    //crypt.SetParameterValue("Q15", Que15.la_q15_1 + " , " + Que15.la_q15_2.ToString());
                    crypt.SetParameterValue("Q15", que15);

                    crypt.SetParameterValue("f1", fq1.f1);
                    crypt.SetParameterValue("f2", fq1.f2);
                    crypt.SetParameterValue("f3", fq1.f3);
                    crypt.SetParameterValue("f4", fq2.f4);
                    crypt.SetParameterValue("f5", fq2.f5);
                    crypt.SetParameterValue("f6", fq2.f6);
                    crypt.SetParameterValue("f7", fq3.f7);
                    crypt.SetParameterValue("f8", fq3.f8);
                    if (que3 == "no")
                    {
                        if (Que4.la_q4_1 != "SAP ECC6.0" && Que4.la_q4_1 != "EHP")
                        {
                            crypt.SetParameterValue("Img_Op1", true);
                            crypt.SetParameterValue("Img_Op2", false);
                        }
                        else
                        {
                            crypt.SetParameterValue("Img_Op2", true);
                            crypt.SetParameterValue("Img_Op1", false);
                        }
                    }

                    foreach (CrystalDecisions.CrystalReports.Engine.Table myTable in crypt.Database.Tables)
                    {
                        TableLogOnInfo myTableLogonInfo = myTable.LogOnInfo;
                        myTableLogonInfo.ConnectionInfo = myConnectionInfo;
                        myTable.ApplyLogOnInfo(myTableLogonInfo);
                        myTable.Location = myConnectionInfo.DatabaseName + ".dbo." + myTable.Location.Substring(myTable.Location.LastIndexOf(".") + 1);
                        myTable.LogOnInfo.ConnectionInfo.ServerName = myConnectionInfo.ServerName;
                    }

                    CrystalReportViewer crb = new CrystalReportViewer();
                    crb.ReportSource = crypt;


                    ss.Load(Rpt_Path);


                    #region Q2
                    String Q2 = "";
                    if (Que2 != null)
                    {
                        if (Que2.la_q2_1 != "" && Que2.la_q2_1 != "undefined")
                        {
                            Q2 = Que2.la_q2_1 + ",";
                        }
                        if (Que2.la_q2_2 == "yes")
                        {
                            Q2 = Q2 + " Development,";
                        }

                        if (Que2.la_q2_3 == "yes")
                        {
                            Q2 = Q2 + " Sandbox,";
                        }

                        if (Que2.la_q2_4 == "yes")
                        {
                            Q2 = Q2 + " Quality / Test,";
                        }

                        if (Que2.la_q2_5 == "yes")
                        {
                            Q2 = Q2 + " Production,";
                        }

                        if (Que2.la_q2_6 != "")
                        {
                            Q2 = Q2 + Que2.la_q2_6;// " Any other System / Client in the SAP Landscape";
                        }

                        #endregion Q2
                        ss.SetParameterValue("Q2", Q2);
                    }

                    ss.SetParameterValue("Q4.1", Que4.la_q4_1);
                    ss.SetParameterValue("Q4.2", Que4.la_q4_2);
                    ss.SetParameterValue("Q4.3", Que4.la_q4_3);
                    //ss.SetParameterValue("Q4.5", Que4.la_q4_5.ToString());

                    ss.SetParameterValue("Q6", que6);

                    if (que3 == "no")
                    {
                        if (Que4.la_q4_1 != "SAP ECC6.0" && Que4.la_q4_1 != "EHP")
                        {
                            ss.SetParameterValue("Img_Op1", true);
                            ss.SetParameterValue("Img_Op2", false);
                        }
                        else
                        {
                            ss.SetParameterValue("Img_Op2", true);
                            ss.SetParameterValue("Img_Op1", false);
                        }
                    }

                    #region Q7
                    String Q7 = "";
                    if (Que7 != null)
                    {
                        if (Que7.la_q7_FI == "yes")
                        {
                            Q7 = Q7 + "Financials,";
                        }
                        if (Que7.la_q7_CO == "yes")
                        {
                            Q7 = Q7 + " Controlling,";
                        }
                        if (Que7.la_q7_MM == "yes")
                        {
                            Q7 = Q7 + " Materials Management,";
                        }

                        if (Que7.la_q7_SD == "yes")
                        {
                            Q7 = Q7 + " Sales & Distribution,";
                        }

                        if (Que7.la_q7_PP == "yes")
                        {
                            Q7 = Q7 + " Production Planning,";
                        }

                        if (Que7.la_q7_QM == "yes")
                        {
                            Q7 = Q7 + " Quality Management,";
                        }
                        if (Que7.la_q7_PS == "yes")
                        {
                            Q7 = " Project Systems,";
                        }

                        if (Que7.la_q7_PM == "yes")
                        {
                            Q7 = Q7 + " Plant Maintenance,";
                        }

                        if (Que7.la_q7_CS == "yes")
                        {
                            Q7 = Q7 + " Customer Service,";
                        }

                        if (Que7.la_q7_HR == "yes")
                        {
                            Q7 = Q7 + " Human Resources,";
                        }

                        if (Que7.la_q7_WM == "yes")
                        {
                            Q7 = Q7 + " Warehouse Management,";
                        }

                        if (Que7.la_q7_LO_VC == "yes")
                        {
                            Q7 = Q7 + " Variant Configuration,";
                        }

                        if (Que7.la_q7_LO_WTY == "yes")
                        {
                            Q7 = Q7 + " Warranty Management,";
                        }

                        if (Que7.la_q7_LO_SPM == "yes")
                        {
                            Q7 = Q7 + " Spare Parts Management,";
                        }

                        if (Que7.la_q7_other != "")
                        {
                            Q7 = Q7 + Que7.la_q7_other;
                        }


                        ss.SetParameterValue("Q7", Q7);
                    }
                    #endregion Q7
                    ss.SetParameterValue("Q11", Que11.la_q11_1.ToString() + " , " + Que11.la_q11_2.ToString());

                    ss.SetParameterValue("Q12", que12);
                    ss.SetParameterValue("Q13", que13);

                    ss.SetParameterValue("Q14", que14);

                    ss.SetParameterValue("Q15", que15);

                    //ss.SetParameterValue("Q15", Que15.la_q15_1 + " , " + Que15.la_q15_2.ToString());

                    ss.SetParameterValue("f1", fq1.f1);
                    ss.SetParameterValue("f2", fq1.f2);
                    ss.SetParameterValue("f3", fq1.f3);
                    ss.SetParameterValue("f4", fq2.f4);
                    ss.SetParameterValue("f5", fq2.f5);
                    ss.SetParameterValue("f6", fq2.f6);
                    ss.SetParameterValue("f7", fq3.f7);
                    ss.SetParameterValue("f8", fq3.f8);

                    ss.SetParameterValue("Company_Name", u.Compnay);
                    ss.SetParameterValue("User", u.FirstName + " " + u.SecoundName);
                    ss.SetParameterValue("Promantus_POC", "Promantus");


                    ExportOptions CrExportOptions;
                    DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();
                    PdfRtfWordFormatOptions    CrFormatTypeOptions          = new PdfRtfWordFormatOptions();
                    CrDiskFileDestinationOptions.DiskFileName = outputPath + User_ID + ".pdf";
                    CrExportOptions = ss.ExportOptions;
                    {
                        CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
                        CrExportOptions.ExportFormatType      = ExportFormatType.PortableDocFormat;
                        CrExportOptions.DestinationOptions    = CrDiskFileDestinationOptions;
                        CrExportOptions.FormatOptions         = CrFormatTypeOptions;
                    }
                    ss.Export();
                    // con1.Open();
                    // string q = "Select Email from  users  WHERE User_ID = " + User_ID + " ";
                    // MySqlCommand cmd3 = new MySqlCommand(q, con1);
                    //var a= cmd3.ExecuteScalar();

                    Boolean S = @base.AddQuestionnaire_Mail(Convert.ToInt32(User_ID), u.Email);
                    con1.Open();
                    string       myQuery = "UPDATE question SET MailStatus = " + S + " WHERE User_ID = " + User_ID + " ";
                    MySqlCommand cmd2    = new MySqlCommand(myQuery, con1);
                    cmd2.ExecuteNonQuery();
                    con1.Close();
                }
                catch (Exception ex)
                {
                    _log.createLog(ex, "-->CrystalReportPDF-->Loop" + ex.Message.ToString());
                }
                finally
                {
                    if (ss != null)
                    {
                        ss.Close();
                        ss.Dispose();
                    }
                }
            }
        }