Example #1
0
 // 获取调查问卷组合答案详细的详细信息
 public IES.CC.Model.Survey.SurveyInfo SurveyAnswer_Info_Get(IES.CC.Model.Survey.Survey model)
 {
     model.UserID = 0;
     var survey = SurveyDAL.SurveyInfo_Get(model);
     var answer_sta = SurveyDAL.SurveyAnswer_All_Get(model);
     var answer_get = SurveyDAL.SurveyAnswer_Get(model);
     survey.answersta = answer_sta;
     survey.answerget = answer_get;
     var qlist = survey.question;
     var ilist = survey.questionitem;
     for (var i = 0; i < qlist.Count; i++)
     {
         if (qlist[i].ParentID != 0)
         {
             if (qlist[i].Type == 8 || qlist[i].Type == 9)
             {
                 List<SurveyQuestionitem> Items = new List<SurveyQuestionitem>();
                 for (var n = 0; n < ilist.Count; n++)
                 {
                     if (ilist[n].QuestionID == qlist[i].ParentID)
                     {
                         SurveyQuestionitem item = ilist[n];
                         Items.Add(item);
                     }
                 }
                 qlist[i].Items = Items;
             }
         }
     }
     survey.question = qlist;
     return survey;
 }
Example #2
0
 /// <summary>
 /// 在线课程知识点汇总
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static IES.CC.Model.Analysis.AnalysisCourse KenSummary_Get(IES.CC.Model.Analysis.Analysis model)
 {
     try
     {
         using (var conn = DbHelper.ResourceService())
         {
             var p = new DynamicParameters();
             p.Add("@OCID", model.OCID);
             p.Add("@StartDate", model.StartDate);
             p.Add("@EndDate", model.EndDate);
             return conn.Query<IES.CC.Model.Analysis.AnalysisCourse>("KenSummary_Get", p, commandType: CommandType.StoredProcedure).Single();
         }
     }
     catch (Exception e)
     {
         return null;
     }
 }
Example #3
0
 //统计在线学生数
 public List<IES.CC.Model.Analysis.AnalysisStudent> OnLineStudentCount_Get(IES.CC.Model.Analysis.Analysis model)
 {
     var list = AnalysisDAL.OnLineStudentCount_Get(model);
     if (model.Type == 2)
     {
         var newlist = list.OrderByDescending(s => s.AvgStudentCount).ToList();
         for (var i = 0; i < list.Count; i++)
         {
             if (list[i].Week == newlist[0].Week)
             {
                 list[i].IsM = 2;
             }
             else if (list[i].Week == newlist[newlist.Count - 1].Week)
             {
                 list[i].IsM = 1;
             }
             else
             {
                 list[i].IsM = 0;
             }
         }
     }
     else if(model.Type==3)
     {
         var newlist = list.OrderByDescending(s => s.StudentCount).ToList();
         for (var i = 0; i < list.Count; i++)
         {
             if (list[i].Date == newlist[0].Date)
             {
                 list[i].IsM = 2;
             }
             else if (list[i].Date == newlist[newlist.Count - 1].Date)
             {
                 list[i].IsM = 1;
             }
             else
             {
                 list[i].IsM = 0;
             }
         }
     }
     return list;
 }
Example #4
0
        // 8.系統接收6上傳資料。
        public async Task <int> UpdateOrderState(string OrderId, byte OrderStateId, string MemberMobile)
        {
            int ret = 1;  // 12.系統回傳0。

            try
            {
                // 9.系統更新一筆銷貨單狀態。
                ret = await IMR.UpdateOrderState(OrderId, OrderStateId);

                if (OrderStateId == 4)
                {
                    // 9-1.系統判斷OrderStateId==4(己付款)。
                    // 9-2.系統在Action【Member/Personaldata】中讀取會員基本資料。
                    MemberViewModel mvm = await IMR.GetMember(MemberMobile);

                    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                    mail.To.Add(mvm.eMail);
                    mail.From       = new System.Net.Mail.MailAddress($@"{IEC.SmtpUsername}@{IEC.SmtpServer}");
                    mail.Subject    = "288訂購訊息";
                    mail.Body       = "您好,\n";
                    mail.Body      += $"您在288建立的訂單己確認付款完成,訂單代碼為{OrderId},<br>";
                    mail.Body      += $"若為會員,請至本平台會員中心查詢訂單處理狀態,<br>";
                    mail.Body      += $"若非會員,本平台會寄送eMail告知訂單處理狀況,<br>";
                    mail.Body      += $"288網址:http://dreammaker.game.tw/YunQiWholesale,<br>";
                    mail.Body      += $"客服專線:04-28825252";
                    mail.Body      += $"288應謝您!";
                    mail.IsBodyHtml = true;
                    IES.SendMail(mail);
                }
                // 9-1a.系統判斷OrderStateId!=4(己付款)。
                //  9-1a-1.回10。
                // 10.系統判斷9成功執行。
                // 11.系統回傳9傳回值。
            }
            catch (Exception ex)
            {
                // 10.系統判斷9執行時發生例外。
                //  10a-1.系統回傳3。
                ret = 3;
            }
            return(ret);
        }
Example #5
0
 public static bool App_OCAffairs_Add(IES.CC.Test.Model.Test model,string Reson)
 {
     try
     {
         using (var conn = DbHelper.CCService())
         {
             var p = new DynamicParameters();
             p.Add("@UserID", model.UserID);
             p.Add("@OCID", model.OCID);
             p.Add("@TestID", model.TestID);
             p.Add("@Type", model.Type);
             p.Add("@Reson", Reson);
             conn.Execute("App_TestInfo_Sumbit_List", p, commandType: CommandType.StoredProcedure);
             return true;
         }
     }
     catch (Exception)
     {
         return false;
     }
 }
Example #6
0
 /// <summary>
 /// 附件新增,可以用文件表中引用文件作为附件
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int Attachment_ADD(IES.Resource.Model.Attachment attachment)
 {
     try
     {
         using (var conn = DbHelper.ResourceService())
         {
             var p = new DynamicParameters();
             p.Add("@AttachmentID", attachment.AttachmentID);
             p.Add("@ServerID", attachment.ServerID);
             p.Add("@FileName", attachment.FileName);
             p.Add("@Title", attachment.Title);
             p.Add("@FileSize", attachment.FileSize);
             p.Add("@Source", attachment.Source);
             p.Add("@SourceID", attachment.SourceID);
             p.Add("@Guid", attachment.Guid);
             p.Add("@RefFileID", attachment.RefFileID);
             return conn.Execute("Attachment_ADD", p, commandType: CommandType.StoredProcedure);
         }
     }
     catch { return -1; }
 }
Example #7
0
 //问卷调查投票
 public bool SurveyAnswer_Edit(IES.CC.Model.Survey.SurveyAnswer model)
 {
     IES.CC.Model.Survey.Survey survey = new CC.Model.Survey.Survey { SurveyID = model.SurveyID, UserID = model.UserID };
     bool isCan = Survey_Is_Sumbit(survey);
     if (isCan)
     {
         bool flag = SurveyDAL.SurveyAnswer_Edit(model);
         if (flag)
         {
             bool flag1 = SurveyDAL.SurveyToObject_IsFinish_Upd(model);
             return flag1;
         }
         else
         {
             return false;
         }
     }
     else
     {
         return false;
     }
 }
Example #8
0
        public async Task <int> InsertMemberForget(string MemberMobile)
        {
            int ret = 0;
            //產生NewGuid
            var token = Utility.Data.IntGuid();

            ret = await IMR.InsertMemberForget(MemberMobile, token);

            //取得 MemberEmail
            MemberViewModel MemberList = await IMR.GetMember(MemberMobile);

            //此帳號沒有email
            if (MemberList.eMail == null || MemberList.eMail == "")
            {
                ret = -1;
            }

            if (ret == 0)
            {
                //產生Email
                System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                mail.To.Add(MemberList.eMail);
                mail.From       = new System.Net.Mail.MailAddress($@"{IEC.SmtpUsername}@{IEC.SmtpServer}");
                mail.Subject    = "更改密碼";
                mail.Body       = "您好,\n <br>";
                mail.Body      += $"最近有人要求更改您 員工管理系統 的帳戶密碼。<br>";
                mail.Body      += $"如果是您提出的請求,您可以從這裡設定新密碼:<br>";
                mail.Body      += $"網址: https://localhost:44378/LostPassword?MemberMobile=" + MemberMobile + "&token=" + token + "<br>";
                mail.Body      += $"若您不想變更密碼,或是您沒有提出此要求,請忽略並刪除此訊息。<br>";
                mail.Body      += $"為確保您的帳戶安全無虞,請不要轉寄這封電子郵件。 請參訪說明中心,瞭解更多。<br>";
                mail.Body      += $"使用愉快!<br>";
                mail.IsBodyHtml = true;
                IES.SendMail(mail);

                return(ret);
            }
            return(ret);
        }
Example #9
0
 public List<IES.CC.Model.Survey.Survey> Survey_Simple_List(IES.CC.Model.Survey.Survey model, int PageIndex, int PageSize)
 {
     return SurveyDAL.Survey_Simple_List(model, PageIndex, PageSize);
 }
Example #10
0
        public static void CreateThingsTopology()
        {
            IPoint p1 = context.Create <IPoint>(new Uri(clientURI + "#temp1"));

            p1.Name = "Point1";
            p1.UID  = "point1-111";
            p1.Unit = "DegreeC";
            p1.Type = "Temperature";

            IPoint p2 = context.Create <IPoint>(new Uri(clientURI + "#temp2"));

            p2.Name = "Point2";
            p2.UID  = "point2-222";
            p2.Unit = "DegreeC";
            p2.Type = "Temperature";

            IController c1 = context.Create <IController>(new Uri(clientURI + "#c1"));

            c1.Name = "Controller1";
            c1.UID  = "Controller1-111";

            c1.HasPoints.Add(p1);
            c1.HasPoints.Add(p2);

            //==========================//

            IPoint p3 = context.Create <IPoint>(new Uri(clientURI + "#energy3"));

            p3.Name = "Point3";
            p3.UID  = "point3-333";
            p3.Unit = "Wh";
            p3.Type = "Energy";

            IPoint p4 = context.Create <IPoint>(new Uri(clientURI + "#energy4"));

            p4.Name = "Point4";
            p4.UID  = "point4-444";
            p4.Unit = "Wh";
            p4.Type = "Energy";

            IController c2 = context.Create <IController>(new Uri(clientURI + "#c2"));

            c2.Name = "Controller2";
            c2.UID  = "Controller2-222";
            c2.HasPoints.Add(p3);
            c2.HasPoints.Add(p4);

            //==========================//

            IPoint p5 = context.Create <IPoint>(new Uri(clientURI + "#temp5"));

            p5.Name = "Point5";
            p5.UID  = "point5-555";
            p5.Unit = "DegreeC";
            p5.Type = "Temperature";

            IPoint p6 = context.Create <IPoint>(new Uri(clientURI + "#temp6"));

            p6.Name = "Point6";
            p6.Unit = "DegreeC";
            p6.Type = "Temperature";

            IController c3 = context.Create <IController>(new Uri(clientURI + "#c3"));

            c3.Name = "Controller3";
            c3.UID  = "Controller3-333";
            c3.HasPoints.Add(p5);
            c3.HasPoints.Add(p6);

            //==========================//

            IPoint p7 = context.Create <IPoint>(new Uri(clientURI + "#energy7"));

            p7.Name = "Point7";
            p7.UID  = "point7-777";
            p7.Unit = "Wh";
            p7.Type = "Energy";

            IPoint p8 = context.Create <IPoint>(new Uri(clientURI + "#energy8"));

            p8.Name = "Point8";
            p8.UID  = "point8-888";
            p8.Unit = "Wh";
            p8.Type = "Energy";

            IController c4 = context.Create <IController>(new Uri(clientURI + "#c4"));

            c4.Name = "Controller4";
            c4.UID  = "Controller4-444";
            c4.HasPoints.Add(p7);
            c4.HasPoints.Add(p8);

            //==========================//

            IAS as1 = context.Create <IAS>(new Uri(clientURI + "#as1"));

            as1.Name = "AutomationServer1";
            as1.UID  = "AutomationServer1-123";
            as1.Controls.Add(c1);
            as1.Controls.Add(c2);

            IAS as2 = context.Create <IAS>(new Uri(clientURI + "#as2"));

            as2.Name = "AutomationServer2";
            as2.UID  = "AutomationServer2-123";
            as2.Controls.Add(c3);
            as2.Controls.Add(c4);

            IES es = context.Create <IES>(new Uri(clientURI + "#es1"));

            es.Name = "EnterpriseServer1";
            es.UID  = "EnterpriseServer1-123";
            es.Monitors.Add(as1);
            es.Monitors.Add(as2);

            // commit data to store
            context.Commit();
        }
Example #11
0
 /// <summary>
 /// 查看学生在线明细
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static List<IES.CC.Model.Analysis.AnalysisStudent> StudentOnlineDesc_Get(IES.CC.Model.Analysis.Analysis model)
 {
     try
     {
         using (var conn = DbHelper.CCService())
         {
             var p = new DynamicParameters();
             p.Add("@OCID", model.OCID);
             p.Add("@StartDate", model.StartDate);
             p.Add("@EndDate", model.EndDate);
             p.Add("@TopCount", model.TopCount);
             return conn.Query<IES.CC.Model.Analysis.AnalysisStudent>("StudentOnlineDesc_Get", p, commandType: CommandType.StoredProcedure).ToList();
         }
     }
     catch (Exception e)
     {
         return null;
     }
 }
Example #12
0
 //获取在线课程教师的工作情况
 public List<IES.CC.Model.Analysis.AnalysisTeacher> OCTeacherWork_Get(IES.CC.Model.Analysis.Analysis model)
 {
     return AnalysisDAL.OCTeacherWork_Get(model);
 }
Example #13
0
        public async Task <IActionResult> Success(ContactDataViewModel ContactData, string OrderId, string MemberMobile, byte OrderStateId = 40)
        {
            PostOrderViewModel1 povm = null;
            int ret = 0;

            try
            {
                if (OrderStateId == 1)
                {
                    // 3.系統在Action【Cart/Success】判斷2傳送OrderStateId==1。
                    // 4.系統變更訂單狀態為1。
                    ret = await IMER.UpdateOrderState(OrderId, OrderStateId);

                    if (ret != 0)
                    {
                        return(View(new PostOrderViewModel1 {
                            OrderDetail = null, ContactData = null, CartTobal = -1, OrderId = "", RtnModel = null, MemberMobile = MemberMobile, ret = ret
                        }));
                    }
                }
                if (OrderStateId == 2)
                {
                    // 3.系統在Action【Cart/Success】判斷2傳送OrderStateId==2。
                    // 4.系統變更訂單狀態為2。
                    ret = await IMER.UpdateOrderState(OrderId, OrderStateId);

                    if (ret != 0)
                    {
                        return(View(new PostOrderViewModel1 {
                            OrderDetail = null, ContactData = null, CartTobal = -1, OrderId = "", RtnModel = null, MemberMobile = MemberMobile, ret = ret
                        }));
                    }
                }

                List <OrderCheckProductStockEnoughViewModel> OCPSE = await IOR.OrderCheckProductStockEnough(OrderId);

                if (OCPSE == null)
                {
                    return(View(new PostOrderViewModel1 {
                        OrderDetail = null, ContactData = null, CartTobal = -1, OrderId = "", RtnModel = null, MemberMobile = MemberMobile, ret = ret, OCPSE = OCPSE
                    }));
                }

                // 3a.系統在Action【Cart/Success】判斷2傳送OrderStateId!=1。
                //  3a-1.回4-1。
                // 4-1.系統刪除會員之所有購物車資料。
                ret = await IMER.DeleteAllMemberCarts(MemberMobile);

                if (ret != 0)
                {
                    return(View(new PostOrderViewModel1 {
                        OrderDetail = null, ContactData = null, CartTobal = -1, OrderId = "", RtnModel = null, MemberMobile = MemberMobile
                    }));
                }
                // 16.系統讀取訂單明細。
                List <CartListViewModel> lstCLVM = await IOR.GetOrderDetail(OrderId);

                // 17.系統更新商品庫存。
                ret = await IOR.UpdateProductStock(lstCLVM);

                if (ret != 0)
                {
                    return(View(new PostOrderViewModel1 {
                        OrderDetail = null, ContactData = null, CartTobal = -1, OrderId = "", RtnModel = null, MemberMobile = MemberMobile
                    }));
                }
                // 5.系統在Action【Cart/Success】寄發建立訂單eMail(含平台連結)。
                //EmailMessage em = new EmailMessage();
                //EmailAddress fAdd = new EmailAddress();
                //fAdd.Name = IEC.SmtpUsername;
                //fAdd.Address = $@"{IEC.SmtpUsername}";
                ////fAdd.Address = $@"{IEC.SmtpUsername}@{IEC.SmtpServer}";
                //em.FromAddresses.Add(fAdd);
                //EmailAddress tAdd = new EmailAddress();
                //tAdd.Name = ContactData.MemberName;
                //tAdd.Address = ContactData.eMail;
                //em.ToAddresses.Add(tAdd);
                //em.Subject = "288訂購訊息";
                //em.Content = "您好,\n";
                //em.Content += $"您在288建立的訂單己完成,訂單代碼為{OrderId},<br>";
                //em.Content += $"若為會員,請至本平台會員中心查詢訂單處理狀態,<br>";
                //em.Content += $"若非會員,本平台會寄送eMail告知訂單處理狀況,<br>";
                //em.Content += $"288網址:http://dreammaker.game.tw/YunQiWholesale,<br>";
                //em.Content += $"客服專線:04-28825252";
                //em.Content += $"288應謝您!";
                // System.Net.Mail.MailMessage Message
                //IES.Send(em);
                // 5.系統在Action【Cart/Success】寄發建立訂單eMail(含平台連結)。
                System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                mail.To.Add(ContactData.eMail);
                mail.From       = new System.Net.Mail.MailAddress($@"{IEC.SmtpUsername}@{IEC.SmtpServer}");
                mail.Subject    = "288訂購訊息";
                mail.Body       = "您好,\n";
                mail.Body      += $"您在288建立的訂單己完成,訂單代碼為{OrderId},<br>";
                mail.Body      += $"若為會員,請至本平台會員中心查詢訂單處理狀態,<br>";
                mail.Body      += $"若非會員,本平台會寄送eMail告知訂單處理狀況,<br>";
                mail.Body      += $"288網址:http://dreammaker.game.tw/YunQiWholesale,<br>";
                mail.Body      += $"客服專線:04-28825252";
                mail.Body      += $"288應謝您!";
                mail.IsBodyHtml = true;
                IES.SendMail(mail);
                // 6.系統判斷5執行成功。
                // 7.系統回傳View【Cart/Success】,並傳回new PostOrderViewModel1 { OrderDetail=null, ContactData=contactData, CartTobal= null, OrderId=4上傳orderId, RtnModel=null }。
                povm = new PostOrderViewModel1 {
                    OrderDetail = null, ContactData = ContactData, CartTobal = -1, OrderId = OrderId, RtnModel = null, MemberMobile = MemberMobile
                };
            }
            catch (Exception ex)
            {
                string msg = ex.Message;
                // 6a.系統判斷5執行失敗。
                //  6a-1.系統回傳View【Cart/Success】,並傳回new PostOrderViewModel1 { OrderDetail=null, ContactData=null, CartTobal= null, OrderId="", RtnModel=null }。
                povm = new PostOrderViewModel1 {
                    OrderDetail = null, ContactData = null, CartTobal = -1, OrderId = "", RtnModel = null, MemberMobile = MemberMobile
                };
            }
            return(View(povm));
        }
Example #14
0
 //在线课程习题汇总
 public IES.CC.Model.Analysis.AnalysisCourse ExerciseSummary_Get(IES.CC.Model.Analysis.Analysis model)
 {
     return AnalysisDAL.ExerciseSummary_Get(model);
 }
Example #15
0
 //在线课程翻转课堂汇总
 public IES.CC.Model.Analysis.AnalysisCourse OCFCSummary_Get(IES.CC.Model.Analysis.Analysis model)
 {
     return AnalysisDAL.OCFCSummary_Get(model);
 }
Example #16
0
 /// <summary>
 /// 微课试卷的新增编辑      
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int MicroPaper_Edit(IES.CC.Model.Micro.MicroPaper model)
 {
     try
     {
         using (var conn = DbHelper.ResourceService())
         {
             var p = new DynamicParameters();
             p.Add("@PaperID", model.PaperID);
             p.Add("@OCID", model.OCID);
             p.Add("@CourseID", model.CourseID);
             p.Add("@OwnerUserID", model.OwnerUserID);
             p.Add("@CreateUserID", model.CreateUserID);
             p.Add("@Papername", model.Papername);
             p.Add("@Type", model.Type);
             p.Add("@Scope", model.Scope);
             p.Add("@ShareScope", model.ShareScope);
             p.Add("@TimeLimit", model.TimeLimit);
             p.Add("@Brief", model.Brief);
             p.Add("@Score", model.Score);
             p.Add("@Num", model.Num);
             return conn.Execute("MicroChapter_Edit", p, commandType: CommandType.StoredProcedure);
         }
     }
     catch { return -1; }
 }
Example #17
0
 /// <summary>
 /// 课程测试添加到微课
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int OCMoocLive_Add(IES.CC.OC.Model.OCMoocLive model)
 {
     try
     {
         using (var conn = DbHelper.CCService())
         {
             var p = new DynamicParameters();
             p.Add("@MoocLiveID", model.MoocLiveID);
             p.Add("@OCID", model.OCID);
             p.Add("@ChapterID", model.ChapterID);
             p.Add("@SourceID", model.SourceID);
             p.Add("@Source", model.Source);
             p.Add("@IsMust", model.IsMust);
             p.Add("@IsDiscuss", model.IsDiscuss);
             return conn.Execute("OCMoocLive_Add", p, commandType: CommandType.StoredProcedure);
         }
     }
     catch { return -1; }
 }
Example #18
0
 /// <summary>
 /// 文件添加      
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int File_ADD(IES.Resource.Model.File model)
 {
     try
     {
         using (var conn = DbHelper.ResourceService())
         {
             var p = new DynamicParameters();
             p.Add("@FileID", model.FileID);
             p.Add("@OCID", model.OCID);
             p.Add("@CourseID", model.CourseID);
             p.Add("@FolderID", model.FolderID);
             p.Add("@CreateUserID", model.CreateUserID);
             p.Add("@CreateUserName", model.CreateUserName);
             p.Add("@OwnerUserID", model.OwnerUserID);
             p.Add("@FileTitle", model.FileTitle);
             p.Add("@FileName", model.FileName);
             p.Add("@Ext", model.Ext);
             p.Add("@FileType", model.FileType);
             p.Add("@FileSize", model.FileSize);
             p.Add("@pingyin", model.pingyin);
             p.Add("@ServerID", model.ServerID);
             p.Add("@TimeLength", model.TimeLength);
             return conn.Execute("File_ADD", p, commandType: CommandType.StoredProcedure);
         }
     }
     catch { return -1; }
 }
Example #19
0
 /// <summary>
 /// 微课新增修改课节      
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int MicroChapter_Edit(IES.Resource.Model.Chapter model)
 {
     try
     {
         using (var conn = DbHelper.ResourceService())
         {
             var p = new DynamicParameters();
             p.Add("@ChapterID", model.ChapterID);
             p.Add("@OCID", model.OCID);
             p.Add("@OwnerUserID", model.OwnerUserID);
             p.Add("@CreateUserID", model.CreateUserID);
             p.Add("@Title", model.Title);
             p.Add("@Brief", model.Brief);
             return conn.Execute("MicroChapter_Edit", p, commandType: CommandType.StoredProcedure);
         }
     }
     catch { return -1; }
 }
Example #20
0
 //更新问卷的状态
 public bool Survey_Status_Upd(IES.CC.Model.Survey.Survey model)
 {
     return SurveyDAL.Survey_Status_Upd(model);
 }
Example #21
0
 /// <summary>
 /// 获取习题的列表信息  
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static List<IES.CC.Model.Micro.ExerciseSummary> Exercise_Paper_Search(IES.CC.Model.Micro.ExerciseCondition model)
 {
     try
     {
         using (var conn = DbHelper.ResourceService())
         {
             var p = new DynamicParameters();
             p.Add("@Searchkey", model.Searchkey);  //--查询关键字
             p.Add("@PageSize", model.PageSize);
             p.Add("@PageIndex", model.PageIndex);
             p.Add("@OCID", model.OCID); // -- 在线课程编号
             p.Add("@UserID", model.UserID);// -- 当前用户身份编号
             p.Add("@ExerciseType", model.ExerciseType); // -- 习题题型
             p.Add("@Diffcult", model.Diffcult); // -- 难度系统
             p.Add("@Scope", model.Scope); // -- 适用范围
             p.Add("@Kens", model.Kens); // -- 知识点名称
             p.Add("@Keys", model.Keys); // -- 标签名称
             p.Add("@ExerciseTypes", model.ExerciseTypes); // --题型集合(逗号分隔) 例如微课选习题时:'2,3,10'
             return conn.Query<IES.CC.Model.Micro.ExerciseSummary>("Exercise_Paper_Search", p, commandType: CommandType.StoredProcedure).ToList();
         }
     }
     catch { return null; }
 }
Example #22
0
 // 获取调查问卷的答案详细信息
 public List<IES.CC.Model.Survey.SurveyAnswer> SurveyAnswer_Get(IES.CC.Model.Survey.Survey model)
 {
     return SurveyDAL.SurveyAnswer_Get(model);
 }
Example #23
0
 //学生活跃度排行
 public List<IES.CC.Model.Analysis.AnalysisStudent> StudentLiveness_Get(IES.CC.Model.Analysis.Analysis model)
 {
     var list = AnalysisDAL.StudentLiveness_Get(model);
     var query = from student in list orderby student.AllCount descending select student;
     return query.ToList();
 }
Example #24
0
        // 8.系統接收6上傳資料。
        public int PostShipment(string OrderId, string MemberName, string ContactAddress, string MemberMobile, string Nnuber, string Weight, string Quantity,
                                string Station, string MemberId, string ProductNo, string Product, string Phone, string Postal, string PaymentType, string InsteadReceive, bool ClearOld, string Memo)
        {
            int    ret = 0; // 12.系統回傳0。
            string DirPath = "", filePaths = "", filePatht = "";
            string ShipmentId = "";
            int    AddRow     = 0;
            string pdfFile    = "";

            DirPath = Path.Combine(_environment.WebRootPath, @"xlsx");
            DirectoryInfo DirPathPdf = new DirectoryInfo(Path.Combine(_environment.WebRootPath, @"xlsx"));

            try
            {
                // 9.系統判斷4輸入之[滙出前清除舊出貨資料]=true。
                if (ClearOld)
                {
                    // 10.系統將xlsx資料夾中的[出貨資料匯入檔_原始.xlsx]複製為[出貨資料匯入檔.xlsx]。
                    filePaths = Path.Combine(DirPath, "出貨資料匯入檔_原始.xlsx");
                    filePatht = Path.Combine(DirPath, "出貨資料匯入檔.xlsx");
                    System.IO.File.Copy(filePaths, filePatht, true);
                    List <FileInfo> fis = DirPathPdf.GetFiles().Where(m => (m.Name.Contains(".pdf"))).ToList();
                    foreach (FileInfo item in fis)
                    {
                        item.Delete();
                    }
                }
                // 11.系統讀取當日最後一筆出貨單號。
                DateTime            ShipmemtTime = DateTime.Now;
                ShipmentIdViewModel svm          = IAR.SyncGetNewShipmentId(ShipmemtTime);
                if (svm != null)
                {
                    // 12.系統判斷11傳回值!=null。
                    // 13.系統設定ShipmentId = 年月日 +< 8讀取值最後4碼加1 >。
                    ShipmentId = Data.GetNewId(svm.ShipmentId, 9, 4);
                }
                else
                {
                    // 12a.系統判斷11傳回值==null。
                    //  12a-1.系統設定Shipmentd=年月日+<0201>。
                    //  12a-2.回14。
                    ShipmentId = Data.GetStartId("S", ShipmemtTime);
                }

                //20190103 ---棋
                using (TransactionScope scope = new TransactionScope())
                {
                    // 14.系統新增一筆出貨單。
                    //t_Shipment
                    ret = IAR.SyncInsertShipMent(ShipmentId, MemberName, ContactAddress, MemberMobile, Nnuber, Weight, Quantity, Station, MemberId, ProductNo, Product, Phone, Postal, PaymentType, InsteadReceive, Memo, ShipmemtTime, OrderId);
                    if (ret == 6)
                    {
                        // 14-1a.系統判斷14傳回值==6。
                        //  14-1a-1.系統設定ret=2(訂單己出貨)。
                        return(6);
                        //  14-1a-2.回21。
                    }
                    else if (ret != 0)
                    {
                        // 14-1a.系統判斷14傳回值!=0。
                        //  14-1a-1.系統設定ret=2(新增出貨單失敗)。
                        return(2);
                        //  14-1a-2.回21。
                    }
                    // 14-1.系統判斷14傳回值==0。
                    // 15.系統變更訂單狀態。
                    // SELECT TOP(1) [OrderId],[OrderTime],[OrderStateId]FROM [CartCRMERP].[dbo].[t_Order]where OrderId = 'B201901030215'
                    ret = IMR.SyncUpdateOrderState(OrderId, 5);
                    if (ret != 0)
                    {
                        // 15-1a.系統判斷15傳回值!=0。
                        //15-1a-1.系統設定ret=3(更新訂單狀態失敗)。
                        return(3);
                    }
                    // 15-1.系統判斷15傳回值==0。
                    //// 16.系統讀取訂單明細。
                    //List<CartListViewModel> lstCLVM = await IAR.GetOrderDetail(OrderId);
                    //// 17.系統更新商品庫存。
                    //ret = await IAR.UpdateProductStock(lstCLVM);
                    //if(ret!=0)
                    //{
                    //    // 17-1a.系統判斷1傳回值!=0。
                    //    //  17-1a-1.系統設定ret=4(更新商品庫存失敗)。
                    //    return 4;
                    //    //  17-1a-2.回21。
                    //}
                    // 17-1.系統判斷17傳回值==0。
                    // 18.系統判斷14~17成功執行。
                    // 19.系統讀取訂單基本資料。
                    OrderListViewModel OLVM = IAR.SyncGetOrderData(OrderId);
                    // 20.系統依19讀取資料發送eMail。
                    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                    mail.To.Add(OLVM.eMail);
                    mail.From       = new System.Net.Mail.MailAddress($@"{IEC.SmtpUsername}@{IEC.SmtpServer}");
                    mail.Subject    = "288訂購訊息";
                    mail.Body       = "您好,\n";
                    mail.Body      += $"您在288建立的訂單己進行出貨作業,訂單代碼為{OrderId},<br>";
                    mail.Body      += $"若為會員,請至本平台會員中心查詢訂單處理狀態,<br>";
                    mail.Body      += $"若非會員,本平台會寄送eMail告知訂單處理狀況,<br>";
                    mail.Body      += $"288網址:http://dreammaker.game.tw/YunQiWholesale,<br>";
                    mail.Body      += $"客服專線:04-28825252";
                    mail.Body      += $"288應謝您!";
                    mail.IsBodyHtml = true;

                    // 20-1.系統將出貨資料填入出貨資料匯入檔.xlsx。
                    filePaths = Path.Combine(DirPath, "出貨資料匯入檔.xlsx");
                    filePatht = Path.Combine(DirPath, "出貨資料匯入檔_Backup.xlsx");
                    System.IO.File.Copy(filePaths, filePatht, true);
                    using (FileStream fsr = new FileStream(filePatht, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
                    {
                        // 載入Excel檔案
                        //int currentRow = 0;
                        using (ExcelPackage epr = new ExcelPackage(fsr))
                        {
                            ExcelWorksheet sheet1         = epr.Workbook.Worksheets[1];     //取得Sheet1
                            int            startRowNumber = sheet1.Dimension.Start.Row + 1; //起始列編號,從1算起
                            int            endRowNumber   = sheet1.Dimension.End.Row;       //結束列編號,從1算起
                            //int startColumn = sheet1.Dimension.Start.Column; //開始欄編號,從1算起
                            //int endColumn = sheet1.Dimension.End.Column; //結束欄編號,從1算起
                            AddRow = endRowNumber + 1;
                            //for (currentRow = startRowNumber; currentRow <= endRowNumber; currentRow++)
                            //{
                            //    if (string.IsNullOrEmpty(sheet1.Cells[currentRow, 1].Text))
                            //    {
                            //        break;  // 空白列跳出,以填入新出貨資料
                            //    }
                            //}
                            // 填入新出貨資料至空白列
                            sheet1.Cells[AddRow, 1].Value           = "艾寶寶網購暢貨中心";
                            sheet1.Cells[AddRow, 2].Value           = MemberName;
                            sheet1.Cells[AddRow, 3].Value           = ContactAddress;
                            sheet1.Cells[AddRow, 4].Value           = MemberMobile;
                            sheet1.Cells[AddRow, 5].Value           = Nnuber;
                            sheet1.Cells[AddRow, 6].Value           = Weight;
                            sheet1.Cells[AddRow, 7].Value           = Quantity;
                            sheet1.Cells[AddRow, 8].Value           = Station;
                            sheet1.Cells[AddRow, 9].Value           = ShipmentId;
                            sheet1.Cells[AddRow, 10].Value          = MemberId;
                            sheet1.Cells[AddRow, 11].Value          = ProductNo;
                            sheet1.Cells[AddRow, 12].Value          = Product;
                            sheet1.Cells[AddRow, 12].Style.WrapText = true;
                            sheet1.Cells[AddRow, 13].Value          = Phone;
                            sheet1.Cells[AddRow, 14].Value          = Postal;
                            sheet1.Cells[AddRow, 15].Value          = PaymentType;
                            sheet1.Cells[AddRow, 16].Value          = InsteadReceive;
                            sheet1.Cells[AddRow, 17].Value          = Memo;
                            sheet1.Cells[AddRow, 17].Style.WrapText = true;
                            using (FileStream createStream = new FileStream(filePaths, FileMode.Create, FileAccess.Write))
                            {
                                epr.SaveAs(createStream);//存檔
                            }
                        }
                    }
                    // 20-2.系統將出貨資料填入[出貨單號.pdf]。
                    Document document = new Document(PageSize.A5.Rotate(), 20, 20, 20, 20);
                    pdfFile = Path.Combine(DirPath, $@"{ShipmentId}.pdf");
                    PdfWriter PDFWriter = PdfWriter.GetInstance(document, new FileStream(pdfFile, FileMode.Create));
                    PDFWriter.ViewerPreferences = PdfWriter.PageModeUseOutlines;
                    // Our custom Header and Footer is done using Event Handler
                    //TwoColumnHeaderFooter PageEventHandler = new TwoColumnHeaderFooter();
                    //PDFWriter.PageEvent = PageEventHandler;
                    // Define the page header
                    //PageEventHandler.Title = Title;
                    //PageEventHandler.FooterFont = FontFactory.GetFont(BaseFont.COURIER_BOLD, 10, iTextSharp.text.Font.BOLD);
                    //PageEventHandler.HeaderLeft = "Group";
                    //PageEventHandler.HeaderRight = "1";
                    document.Open();
                    // 設定字型
                    string   ttfFile  = Path.Combine(DirPath, $@"kaiu.ttf");
                    BaseFont bf       = BaseFont.CreateFont(ttfFile, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                    Font     fn_big   = new Font(bf, 24, Font.NORMAL, Color.BLACK);
                    Font     fn_mid   = new Font(bf, 16, Font.NORMAL, Color.BLACK);
                    Font     fn_small = new Font(bf, 14, Font.NORMAL, Color.BLACK);
                    // 間隔
                    Chunk     c_SpaseLine = new Chunk("    ");
                    Paragraph p_SpaseLine = new Paragraph();
                    p_SpaseLine.Add(c_SpaseLine);
                    // 標題
                    Chunk     c_Header = new Chunk("允奇國際行銷有限公司 出貨單", fn_big);
                    Paragraph p_Header = new Paragraph();
                    p_Header.Alignment = Element.ALIGN_CENTER;
                    p_Header.Add(c_Header);
                    document.Add(p_Header);
                    document.Add(p_SpaseLine);
                    // 公司資料
                    Paragraph p_Header_Table = new Paragraph();
                    p_Header_Table.IndentationLeft  = -30;
                    p_Header_Table.IndentationRight = -30;
                    PdfPTable table = new PdfPTable(new float[] { 3f, 2f });
                    table.DefaultCell.Border              = PdfPCell.NO_BORDER;
                    table.DefaultCell.VerticalAlignment   = Element.ALIGN_LEFT;
                    table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
                    PdfPCell pc;
                    // 日期
                    pc        = new PdfPCell(new Paragraph($@"日期:{ShipmemtTime.Year}年{ShipmemtTime.Month}月{ShipmemtTime.Day}日", fn_small));
                    pc.Border = PdfPCell.NO_BORDER;
                    //pc.HorizontalAlignment = Element.ALIGN_LEFT;
                    table.AddCell(pc);
                    // 電話
                    pc        = new PdfPCell(new Paragraph("TEL:+884-4-24260263", fn_small));
                    pc.Border = PdfPCell.NO_BORDER;
                    //pc.HorizontalAlignment = Element.ALIGN_RIGHT;
                    table.AddCell(pc);
                    // 地址
                    pc        = new PdfPCell(new Paragraph("地址:台中市北屯區經貿五路66號6樓", fn_small));
                    pc.Border = PdfPCell.NO_BORDER;
                    //pc.HorizontalAlignment = Element.ALIGN_LEFT;
                    table.AddCell(pc);
                    // 統一編號
                    pc        = new PdfPCell(new Paragraph("統一編號:63177906", fn_small));
                    pc.Border = PdfPCell.NO_BORDER;
                    //pc.HorizontalAlignment = Element.ALIGN_RIGHT;
                    table.AddCell(pc);
                    // 網址
                    pc        = new PdfPCell(new Paragraph("網址:http://288ibobo.com", fn_small));
                    pc.Border = PdfPCell.NO_BORDER;
                    //pc.HorizontalAlignment = Element.ALIGN_LEFT;
                    table.AddCell(pc);
                    // eMail
                    pc        = new PdfPCell(new Paragraph("eMail:[email protected]", fn_small));
                    pc.Border = PdfPCell.NO_BORDER;
                    //pc.HorizontalAlignment = Element.ALIGN_RIGHT;
                    table.AddCell(pc);
                    p_Header_Table.Add(table);
                    document.Add(p_Header_Table);
                    //////// 進貨明細表格 ////////
                    document.Add(p_SpaseLine);
                    Paragraph p_Table = new Paragraph();
                    p_Table.IndentationLeft  = -30;
                    p_Table.IndentationRight = -30;
                    PdfPTable ptable = new PdfPTable(new float[] { 3f, 2f });
                    ptable.DefaultCell.VerticalAlignment   = Element.ALIGN_LEFT;
                    ptable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
                    // 收件人
                    pc             = new PdfPCell(new Paragraph($@"收件人:{MemberName}", fn_mid));
                    pc.FixedHeight = 25f;
                    ptable.AddCell(pc);
                    // 電話
                    pc             = new PdfPCell(new Paragraph($@"電話號碼:{MemberMobile}", fn_mid));
                    pc.FixedHeight = 25f;
                    ptable.AddCell(pc);
                    // 地址
                    pc             = new PdfPCell(new Paragraph($@"送貨地址:{ContactAddress}", fn_mid));
                    pc.FixedHeight = 25f;
                    ptable.AddCell(pc);
                    // 統一編號=>暫不顯示
                    pc             = new PdfPCell(new Paragraph($@"統一編號:", fn_mid));
                    pc.FixedHeight = 25f;
                    ptable.AddCell(pc);
                    // 出貨明細
                    // 標題
                    pc                     = new PdfPCell(new Paragraph($@"出貨明細", fn_mid));
                    pc.Colspan             = 2;
                    pc.HorizontalAlignment = Element.ALIGN_CENTER;
                    pc.FixedHeight         = 25f;
                    ptable.AddCell(pc);
                    // 明細
                    StringBuilder            sb       = new StringBuilder();
                    int                      subtotal = 0;
                    List <CartListViewModel> lstCLVM  = IAR.SyncGetOrderDetail(OrderId);
                    foreach (var item in lstCLVM)
                    {
                        sb.Append($@"{item.Product}/{item.ProductSize}/{item.ProductColor}X{item.Quantity}={item.SubTotal}; ");
                        subtotal += item.SubTotal;
                    }
                    pc             = new PdfPCell(new Paragraph(sb.ToString(), fn_mid));
                    pc.Colspan     = 2;
                    pc.FixedHeight = 125f;
                    ptable.AddCell(pc);
                    // 備註
                    pc         = new PdfPCell(new Paragraph(Memo, fn_mid));
                    pc.Rowspan = 2;
                    ptable.AddCell(pc);
                    // 合計
                    pc             = new PdfPCell(new Paragraph($@"合計:{subtotal:#,###}", fn_mid));
                    pc.FixedHeight = 23f;
                    ptable.AddCell(pc);
                    // 總計
                    pc             = new PdfPCell(new Paragraph($@"總計(含運):{OLVM.TotalExpense:#,###}", fn_mid));
                    pc.FixedHeight = 23f;
                    ptable.AddCell(pc);
                    //////// 表尾列 ////////
                    // 存根
                    pc             = new PdfPCell(new Paragraph("第一聯:存根(白)  第二聯:客戶(藍)", fn_mid));
                    pc.FixedHeight = 23f;
                    pc.Border      = PdfPCell.NO_BORDER;
                    //pc.HorizontalAlignment = Element.ALIGN_LEFT;
                    ptable.AddCell(pc);
                    // 包裝
                    pc                     = new PdfPCell(new Paragraph("包裝:", fn_mid));
                    pc.FixedHeight         = 23f;
                    pc.Border              = PdfPCell.NO_BORDER;
                    pc.HorizontalAlignment = Element.ALIGN_LEFT;
                    ptable.AddCell(pc);

                    // 如果所有的操作都執行成功,則Complete()會被呼叫來提交事務
                    // 如果發生異常,則不會呼叫它並回滾事務
                    scope.Complete();

                    //20190104 ---棋

                    //新增資料進Excel檔案??
                    //刪除保留的備份檔
                    System.IO.File.Delete(filePatht);

                    //新增寫入PDF檔
                    p_Table.Add(ptable);
                    document.Add(p_Table);
                    document.Close();

                    //將訂購訊息已Mail寄出
                    IES.SendMail(mail);
                }
            }
            catch (Exception ex)
            {
                //20190104 ---棋
                //刪除Excel資料
                System.IO.File.Copy(filePaths, filePatht, true);
                using (FileStream fsr = new FileStream(filePatht, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
                {
                    // 載入Excel檔案
                    using (ExcelPackage epr = new ExcelPackage(fsr))
                    {
                        ExcelWorksheet sheet          = epr.Workbook.Worksheets[1];    //取得Sheet1
                        int            startRowNumber = sheet.Dimension.Start.Row + 1; //起始列編號,從1算起
                        int            startColumn    = sheet.Dimension.Start.Column;  //開始欄編號,從1算起
                        int            endColumn      = sheet.Dimension.End.Column;    //結束欄編號,從1算起
                        string         newShipmentId  = sheet.Cells[AddRow, 9].Value.ToString();
                        if (newShipmentId == ShipmentId)
                        {
                            sheet.DeleteRow(AddRow);
                            using (FileStream createStream = new FileStream(filePaths, FileMode.Create, FileAccess.Write))
                            {
                                epr.SaveAs(createStream);//存檔
                            }
                        }
                    }
                }
                System.IO.File.Delete(filePatht);

                //刪除PDF檔
                System.IO.File.Delete(pdfFile);

                //https://tw.saowen.com/a/a9b2952ebcf11777eb40dc03515b84bac8223ac80d3db81c216d27da931b6f35
                string msg = ex.Message;
                // 18a.系統判斷14~17執行時發生例外。
                //  18a-1.系統設定ret=5(系統執行錯誤)。
                //  18a-2.回21。
                ret = 5;
            }

            // 21.系統回傳ret。
            return(ret);
        }
Example #25
0
 //学生在线次数排行
 public List<IES.CC.Model.Analysis.AnalysisStudent> StudentOnlineDesc_Get(IES.CC.Model.Analysis.Analysis model)
 {
     var list = AnalysisDAL.StudentOnlineDesc_Get(model);
     var query = from student in list orderby student.AllLogins descending select student;
     return query.ToList();
 }
Example #26
0
 /// <summary>
 /// 复制一份作业
 /// </summary>
 /// <param name="test"></param>
 /// <returns></returns>
 public int Test_Copy(IES.CC.Test.Model.Test test)
 {
     return TestDAL.Test_Copy(test);
 }
Example #27
0
 //统计登录人数占比
 public IES.CC.Model.Analysis.AnalysisStudent LoginStudentRate_Get(IES.CC.Model.Analysis.Analysis model)
 {
     return AnalysisDAL.LoginStudentRate_Get(model);
 }
Example #28
0
        // PaymentInfoURL:ATM、CVS的取號結果通知
        public async Task <ActionResult <string> > PostPaymentInfo([FromForm] PaymentInfo model)
        {
            string ret = "1|OK";
            bool   suc = true;
            string pay = model.PaymentType.Substring(0, 3);

            switch (pay)
            {
            case "ATM":
                if (model.RtnCode != 2)
                {
                    // 3a.系統在Action【Paymeent/PostPaymentInfo】判斷綠界傳送之RtnCode!=2?(ATM),或是10100073(CVS)。
                    //  3a-1.系統設定傳回值=”0|RtnMsg”。
                    ret = $@"0|{model.RtnMsg}";
                    //  3a-2.回10。
                    suc = false;
                }
                break;

            case "CVS":
                if (model.RtnCode != 10100073)
                {
                    // 3a.系統在Action【Paymeent/PostPaymentInfo】判斷綠界傳送之RtnCode!=2?(ATM),或是10100073(CVS)。
                    //  3a-1.系統設定傳回值=”0|RtnMsg”。
                    ret = $@"0|{model.RtnMsg}";
                    //  3a-2.回10。
                    suc = false;
                }
                break;

            default:
                break;
            }
            if (suc)
            {
                CheckMacValueModel cmvm = null;
                byte OrderStateId       = 4;
                try
                {
                    // 3.系統在Action【Paymeent/PostPaymentInfo】判斷綠界傳送之RtnCode==2?(ATM),或是10100073(CVS)。
                    // 4.系統在Action【Paymeent/PostCardInfo】讀取對應訂單之CheckMacValue。
                    cmvm = await IOR.GetOrderCheckMacValue(model.MerchantTradeNo);

                    if (cmvm != null)
                    {
                        // 5.系統判斷4傳回值!=null。
                        if (cmvm.CheckMacValue != "")
                        {
                            // 6.系統判斷4傳回值之CheckMacValue!=""。
                            // 6-1.系統設定OrderStateId=2。
                            OrderStateId = 2;
                        }
                        else
                        {
                            // 6a.系統判斷4傳回值之CheckMacValue==""。
                            //  6a-1.系統設定OrderStateId=6。
                            OrderStateId = 6;
                            //  6a-2.回7。
                        }
                        // 7.系統變更訂單狀態。
                        int r = await IOR.UpdateOrderGreenATMCVS(cmvm.OrderId, OrderStateId, model.TradeDate, model.PaymentType, model.TradeAmt, model.TradeNo, model.BankCode, model.vAccount, model.ExpireDate, model.PaymentNo);

                        if (r == 0)
                        {
                            // 8-1.系統判斷7傳回值=0。
                            // 8-2.系統寄發己付款eMail。
                            System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                            mail.To.Add(cmvm.eMail);
                            mail.From    = new System.Net.Mail.MailAddress($@"{IEC.SmtpUsername}@{IEC.SmtpServer}");
                            mail.Subject = "288訂購訊息";
                            mail.Body    = "您好,\n";
                            mail.Body   += $"您在288建立的訂單己付款完成({model.PaymentType}),訂單代碼為{cmvm.OrderId},<br>";
                            if (pay == "ATM")
                            {
                                mail.Body += $"您的ATM繳款帳號為{model.vAccount}<br>";
                            }
                            else if (pay == "CVS")
                            {
                                mail.Body += $"您的超商繳款代碼為{model.PaymentNo}<br>";
                            }
                            mail.Body      += $"若為會員,請至本平台會員中心查詢訂單處理狀態,<br>";
                            mail.Body      += $"若非會員,本平台會寄送eMail告知訂單處理狀況,<br>";
                            mail.Body      += $"288網址:http://288ibobo.com ,<br>";
                            mail.Body      += $"客服專線:04-28825252";
                            mail.Body      += $"288應謝您!";
                            mail.IsBodyHtml = true;
                            IES.SendMail(mail);
                            // 9系統回傳"1|OK"。
                            ret = "1|OK";
                        }
                        else if (r == 2)
                        {
                            // 8-1a.系統判斷7傳回值=2。
                            //  8-1a-1.系統設定傳回值=”1|特店訂單編號找不到”
                            ret = "1|特店訂單編號找不到";
                            //  8-1a-2.回10。
                        }
                        else
                        {
                            // 8-1a.系統判斷7傳回值!=0/2。
                            //  8-1a-1.系統設定傳回值=”0|特店系統內部錯誤”
                            ret = "0|特店系統內部錯誤";
                            //  8-1a-2.回10。
                        }
                    }
                    else
                    {
                        // 5a.系統判斷4傳回值==null。
                        //  5a-1.系統設定傳回值=”0|內部錯誤”。
                        ret = $@"0|特店系統內部錯誤";
                        //  5a-2.回10。
                    }
                }
                catch (Exception ex)
                {
                    // 8a.系統判斷7執行失敗。
                    //  8a-1.系統設定傳回值=”0|特店系統內部錯誤”
                    //  8a-2.回10。
                    ret = $@"0|特店系統內部錯誤";
                }
            }
            return(ret);
        }
Example #29
0
 //教师工作侧重分析
 public IES.CC.Model.Analysis.AnalysisTeacher OCTeacherFocusAnalysis_Get(IES.CC.Model.Analysis.Analysis model)
 {
     return AnalysisDAL.OCTeacherFocusAnalysis_Get(model);
 }
Example #30
0
 /// <summary>
 /// 习题新增修改(单选,多选)
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int Exercise_MultipleChoice_M_Edit(IES.CC.Model.Micro.ExerciseInfo model)
 {
     try
     {
         using (var conn = DbHelper.ResourceService())
         {
             var p = new DynamicParameters();
             p.Add("@ExerciseID", model.ExerciseID);
             p.Add("@OCID", model.OCID);
             p.Add("@CourseID", model.CourseID);
             p.Add("@OwnerUserID", model.OwnerUserID);
             p.Add("@CreateUserID", model.CreateUserID);
             p.Add("@CreateUserName", model.CreateUserName);
             p.Add("@ExerciseType", model.ExerciseType);
             p.Add("@ExerciseTypeName", model.ExerciseTypeName);
             p.Add("@ParentID", model.ParentID);
             p.Add("@Scope", model.Scope);
             p.Add("@Diffcult", model.Diffcult);
             p.Add("@ShareRange", model.ShareRange);
             p.Add("@Keys", model.Keys);
             p.Add("@Kens", model.Kens);
             p.Add("@Conten", model.Conten);
             p.Add("@Analysis", model.Analysis);
             p.Add("@Chapter ", model.Chapter);
             return conn.Execute("Exercise_MultipleChoice_M_Edit", p, commandType: CommandType.StoredProcedure);
         }
     }
     catch { return -1; }
 }
Example #31
0
        // ReturnURL:信用卡付款結果通知
        public async Task <ActionResult <string> > PostCardInfo([FromForm] CardInfo model)
        {
            string             ret  = "1|OK";
            CheckMacValueModel cmvm = null;
            byte OrderStateId       = 4;

            try
            {
                if (model.RtnCode == 1)
                {
                    // 3.系統在Action【Paymeent/PostCardInfo】判斷綠界傳送之RtnCode==1。
                    // 4.系統在Action【Paymeent/PostCardInfo】讀取對應訂單之CheckMacValue。
                    cmvm = await IOR.GetOrderCheckMacValue(model.MerchantTradeNo);

                    if (cmvm != null)
                    {
                        // 5.系統判斷4傳回值!=null。
                        if (cmvm.CheckMacValue != "")
                        {
                            // 6.系統判斷4傳回值之CheckMacValue!=""。
                            // 6-1.系統設定OrderStateId=4。
                            OrderStateId = 4;
                        }
                        else
                        {
                            // 6a.系統判斷4傳回值之CheckMacValue==""。
                            //  6a-1.系統設定OrderStateId=6。
                            OrderStateId = 6;
                            //  6a-2.回7。
                        }
                        // 7.系統變更訂單狀態,並新增一筆會計帳。
                        int r = await IOR.UpdateOrderGreenCard(cmvm.OrderId, OrderStateId, model.TradeDate, model.PaymentType, model.TradeAmt, model.TradeNo, DateTime.Now);

                        if (r == 0)
                        {
                            // 8-1.系統判斷7傳回值=0。
                            // 8-2.系統寄發己付款eMail。
                            System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
                            mail.To.Add(cmvm.eMail);
                            mail.From       = new System.Net.Mail.MailAddress($@"{IEC.SmtpUsername}@{IEC.SmtpServer}");
                            mail.Subject    = "288訂購訊息";
                            mail.Body       = "您好,\n";
                            mail.Body      += $"您在288建立的訂單己付款完成,訂單代碼為{cmvm.OrderId},<br>";
                            mail.Body      += $"若為會員,請至本平台會員中心查詢訂單處理狀態,<br>";
                            mail.Body      += $"若非會員,本平台會寄送eMail告知訂單處理狀況,<br>";
                            mail.Body      += $"288網址:http://288ibobo.com ,<br>";
                            mail.Body      += $"客服專線:04-28825252";
                            mail.Body      += $"288應謝您!";
                            mail.IsBodyHtml = true;
                            IES.SendMail(mail);
                            // 9系統回傳"1|OK"。
                            ret = "1|OK";
                        }
                        else if (r == 2)
                        {
                            // 8-1a.系統判斷7傳回值=2。
                            //  8-1a-1.系統設定傳回值=”1|特店訂單編號找不到”
                            ret = "1|特店訂單編號找不到";
                            //  8-1a-2.回10。
                        }
                        else
                        {
                            // 8-1a.系統判斷7傳回值!=0/2。
                            //  8-1a-1.系統設定傳回值=”0|特店系統內部錯誤”
                            ret = "0|特店系統內部錯誤";
                            //  8-1a-2.回10。
                        }
                    }
                    else
                    {
                        // 5a.系統判斷4傳回值==null。
                        //  5a-1.系統設定傳回值=”0|內部錯誤”。
                        ret = $@"0|特店系統內部錯誤";
                        //  5a-2.回10。
                    }
                }
                else
                {
                    // 3a.系統在Action【Paymeent/PostCardInfo】判斷綠界傳送之RtnCode!=1。
                    //  3a-1.系統設定傳回值=”0|RtnMsg”。
                    //ret = $@"0|{model.RtnMsg}";
                    ret = $@"0|{model.RtnMsg}";
                    //  3a-2.回10。
                }
            }
            catch (Exception ex)
            {
                // 8a.系統判斷7執行失敗。
                //  8a-1.系統設定傳回值=”0|特店系統內部錯誤”
                //  8a-2.回10。
                ret = $@"0|特店系統內部錯誤";
            }
            return(ret);
        }
Example #32
0
 /// <summary>
 /// 教师活跃度对比
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static List<IES.CC.Model.Analysis.AnalysisTeacher> OCTeacherLiveness_Get(IES.CC.Model.Analysis.Analysis model)
 {
     try
     {
         using (var conn = DbHelper.CCService())
         {
             var p = new DynamicParameters();
             p.Add("@OCID", model.OCID);
             p.Add("@StartDate", model.StartDate);
             p.Add("@EndDate", model.EndDate);
             return conn.Query<IES.CC.Model.Analysis.AnalysisTeacher>("OCTeacherLiveness_Get", p, commandType: CommandType.StoredProcedure).ToList();
         }
     }
     catch (Exception e)
     {
         return null;
     }
 }
Example #33
0
        /// <summary>
        /// 添加OC
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static int OC_ADD(IES.CC.OC.Model.OC model)
        {
            try
            {
                using (var conn = DbHelper.CCService())
                {
                    var p = new DynamicParameters();
                    p.Add("@OCID", model.OCID);
                    p.Add("@CourseID", model.CourseID);
                    p.Add("@UserID", model.UserID);
                    p.Add("@Name", model.Name);
                    p.Add("@SubjectID", model.SubjectID);
                    p.Add("@Tags", model.Tags);
                    p.Add("@Brief", model.Brief);
                    p.Add("@IsMicro", model.IsMicro);
                    p.Add("@output", 0);
                    p.Add("@IsSyncClass", 0);
                    p.Add("@LearnDays", 1000);

                    return conn.Execute("OC_ADD", p, commandType: CommandType.StoredProcedure);
                }
            }
            catch { return -1; }
        }
Example #34
0
 // 获取调查问卷指定问题的统计信息
 public List<IES.CC.Model.Survey.SurveyQuestion> SurveyAnswer_Statistics(IES.CC.Model.Survey.Survey model)
 {
     return SurveyDAL.SurveyAnswer_Statistics(model);
 }
Example #35
0
 public bool App_OCAffairs_Add(IES.CC.Test.Model.Test model, string Reson)
 {
     return TestDAL.App_OCAffairs_Add(model, Reson);
 }
Example #36
0
 /// <summary>
 /// 试卷分组新增      
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int PaperGroup_ADD(IES.CC.Model.Micro.PaperGroup model)
 {
     try
     {
         using (var conn = DbHelper.ResourceService())
         {
             var p = new DynamicParameters();
             p.Add("@GroupID", model.GroupID);
             p.Add("@PaperID", model.PaperID);
             p.Add("@GroupName", model.GroupName);
             p.Add("@Orde", model.Orde);
             p.Add("@Brief", model.Brief);
             p.Add("@Timelimit", model.Timelimit);
             return conn.Execute("PaperGroup_ADD", p, commandType: CommandType.StoredProcedure);
         }
     }
     catch { return -1; }
 }
Example #37
0
 /// <summary>
 /// 添加测试  【师生】作业考试/index.html#p=新增作业      
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public static int Test_ADD(IES.CC.Model.Micro.MicroTest model)
 {
     try
     {
         using (var conn = DbHelper.CCService())
         {
             var p = new DynamicParameters();
             p.Add("@TestID", model.TestID);
             p.Add("@UserID", model.UserID);
             p.Add("@UserName", model.UserName);
             p.Add("@OCID", model.OCID);
             p.Add("@CourseID", model.CourseID);
             p.Add("@Name", model.Name);
             p.Add("@StartDate", model.StartDate);
             p.Add("@EndDate", model.EndDate);
             p.Add("@ChapterID", model.ChapterID);
             p.Add("@ChapterName", model.ChapterName);
             p.Add("@Type", model.Type);
             p.Add("@ScaleType", model.ScaleType);
             p.Add("@BuildMode", model.BuildMode);
             p.Add("@LessTimes", model.LessTimes);
             p.Add("@MoreTimes", model.MoreTimes);
             p.Add("@PassScore", model.PassScore);
             p.Add("@ScoreMode", model.ScoreMode);
             p.Add("@ScoreSource", model.ScoreSource);
             p.Add("@ShowResult", model.ShowResult);
             p.Add("@ShowExercise", model.ShowExercise);
             p.Add("@ExerciseShowMode", model.ExerciseShowMode);
             p.Add("@Delay", model.Delay);
             p.Add("@DelayScoreDiscount", model.DelayScoreDiscount);
             p.Add("@StudentCheckNum", model.StudentCheckNum);
             p.Add("@LostScoreDiscount", model.LostScoreDiscount);
             p.Add("@EndCheckTime", model.EndCheckTime);
             p.Add("@TimeOption", model.TimeOption);
             p.Add("@Brief", model.Brief);
             return conn.Execute("Test_ADD", p, commandType: CommandType.StoredProcedure);
         }
     }
     catch { return -1; }
 }
Example #38
0
        public async Task <IActionResult> Geracao(long id)
        {     //inicio requisicao
            try
            { // inicio try catch
                TbResultadoAtual resultadoOTM;

                // if (id == 0)
                // {
                // resultadoOTM = await this.ProducaoContext.TbResultadoAtual
                //         .FirstOrDefaultAsync(r => r.indOficial == 1);

                // }
                // else {
                //         resultadoOTM = await this.ProducaoContext.TbResultadoAtual
                //         .FirstOrDefaultAsync(r => r.Id == id);
                // }

                resultadoOTM = await this.ProducaoContext.TbResultadoAtual
                               .FirstOrDefaultAsync(r => r.Id == id);

                // Tratando dados para Excel

                var dicProfessorAtividade = at.ProfessorAtividade.GerarLista(this.Configuration);

                var parametros = new List <ParametrosCenso>();
                var resultados = new List <Resultado>();

                var ListaEmecIES = await this.ExpContext.CursoEmecIes.ToListAsync();

                var ListaCurso = await this.CContext.CursoCenso.ToListAsync();

                var ListaIesSiaEmec = await this.ExpContext.IesSiaEmec.ToListAsync();

                List <ProfessorEscrita> Listatotalprof = new List <ProfessorEscrita>();

                Dictionary <string, Professor> dic = new Dictionary <string, Professor>();

                // Recebe dados para Aba de Resultados // Parametros // professores // Professores extração
                resultados = JsonConvert.DeserializeObject <List <Resultado> >(resultadoOTM.Resultado);
                //var parametros =  new List<ParametrosCenso>();
                parametros.Add(JsonConvert.DeserializeObject <ParametrosCenso>(resultadoOTM.Parametro));

                var newprofes = JsonConvert.DeserializeObject <List <CursoProfessor> >(resultadoOTM.Professores);

                var professores = JsonConvert.DeserializeObject <List <CursoProfessor> >(resultadoOTM.Professores);

                var cursoCenso = ListaCurso;

                Dictionary <long, CursoEmecIes> EmecIes = ListaEmecIES.ToDictionary(x => x.CodCursoEmec);

                // Dicionario CursoEmec
                Dictionary <long?, string> CursoEmec = new Dictionary <long?, string>();

                cursoCenso.ForEach(p =>
                {
                    if (!CursoEmec.TryGetValue(p.CodEmec, out string cr))
                    {
                        CursoEmec.Add(p.CodEmec, p.NomCursoCenso);
                    }
                });


                // novo dicionario professor para geração do professor na aba do excel

                List <ProfessorExcel> listaProfExcel = new List <ProfessorExcel>();

                foreach (var item in newprofes)
                {
                    item.Professores.ForEach((p) =>
                    {
                        listaProfExcel.Add(new ProfessorExcel {
                            cpfProfessor = p.cpfProfessor,
                            Regime       = p.Regime,
                            Titulacao    = p.Titulacao,
                            NomeCurso    = CursoEmec[item.CodEmec],
                            CodEmec      = item.CodEmec,
                            Nota_Doutor  = item.Nota_Doutor,
                            Nota_Mestre  = item.Nota_Mestre,
                            Nota_Regime  = item.Nota_Regime,
                        });
                    });
                }


                List <ProfessorGeracao> listaProfessor = new List <ProfessorGeracao>();

                // Dicionario do professor com seus dados pessoais
                var dicProfessor = Profcontext.Professores.ToDictionary(x => x.CpfProfessor.ToString());

                // Primeiro for each dos professores e seus respectivos dados
                foreach (var item in professores)
                {
                    item.Professores.ForEach((p) =>
                    {
                        if (dicProfessor.ContainsKey(p.cpfProfessor.ToString()))
                        {
                            var prof = dicProfessor[p.cpfProfessor.ToString()];

                            /*
                             * int teste;
                             * //if (listaProfessor.Count == 10019)
                             *
                             * if (p.cpfProfessor == 83958622887)
                             * {
                             *  teste = listaProfessor.Count;
                             * }
                             */

                            listaProfessor.Add(new ProfessorGeracao
                            {
                                cpfProfessor = p.cpfProfessor,
                                Codies       = EmecIes[item.CodEmec].CodIes.ToString(),
                                CodEmec      = item.CodEmec,
                                NomeCompleto = prof.NomProfessor,
                                Dtnascimento = prof.DtNascimentoProfessor.ToString(),
                                NomSexo      = prof.CodSexo,

                                NomRaca               = prof.NomRaca,
                                NomMae                = prof.NomMae,
                                NacioProfessor        = prof.NacionalidadeProfessor,
                                Pais                  = prof.NomPais,
                                UF                    = prof.UfNascimento,
                                Municipio             = prof.MunicipioNascimento,
                                Escolaridade          = prof.Escolaridade,
                                DocentecomDeficiencia = prof.DocenteDeficiencia,

                                def1 = prof.Def1,
                                def2 = prof.Def2,
                                def3 = prof.Def3,

                                Situacaodocente   = prof.DocenteDeficiencia,
                                Perfil            = prof.Perfil,
                                Regime            = p.Regime,
                                DocenteSubstituto = prof.DocenteSubstituto,
                                DocenteAtivo3112  = prof.Ativo,
                                Titulacao         = p.Titulacao,
                                NomeCurso         = CursoEmec[item.CodEmec],
                            });
                        }
                        ;
                    });
                }

                // inicio da separacao por IES = DicProfessor2 organiza por IES os professores
                Dictionary <string, ProfessorGeracao> DicProfessor2 = new Dictionary <string, ProfessorGeracao>();

                // Segundo foreach
                foreach (var item in professores)
                {
                    item.Professores.ForEach(p =>
                    {
                        ProfessorGeracao prof;
                        // Se não existe o professor , Criacao de um dicionario novo para incluir os professores
                        if (!DicProfessor2.ContainsKey(p.cpfProfessor.ToString()))
                        {
                            prof = listaProfessor.Find(x => x.cpfProfessor == p.cpfProfessor);
                            prof.cpfProfessor  = p.cpfProfessor;
                            IES ies            = new IES();
                            ies.codies         = EmecIes[item.CodEmec].CodIes.ToString();
                            CursoProf curso    = new CursoProf();
                            curso.codcursoEmec = item.CodEmec;
                            curso.nomcursoEmec = cursoCenso.Find(x => x.CodEmec == item.CodEmec).NomCursoCenso;
                            ies.Cursos.Add(curso);
                            prof.Listaies.Add(ies);
                            DicProfessor2.Add(prof.cpfProfessor.ToString(), prof);
                        }
                        else         // else(1) caso exista o professor
                        {
                            prof = DicProfessor2[p.cpfProfessor.ToString()];
                            if (!(prof.Listaies.Find(x => x.codies == EmecIes[item.CodEmec].CodIes.ToString()) == null))
                            {
                                IES ies            = prof.Listaies.Find(x => x.codies == EmecIes[item.CodEmec].CodIes.ToString());
                                CursoProf curso    = new CursoProf();
                                curso.codcursoEmec = item.CodEmec;
                                if ((cursoCenso.Find(x => x.CodEmec == item.CodEmec).NomCursoCenso) == null)
                                {
                                    curso.nomcursoEmec = "Sem curso";
                                }
                                else
                                {
                                    curso.nomcursoEmec = cursoCenso.Find(x => x.CodEmec == item.CodEmec).NomCursoCenso;
                                    curso.codcursoEmec = item.CodEmec;
                                }
                                ies.Cursos.Add(curso);
                            }
                            else
                            {
                                IES ies    = new IES();
                                ies.codies = EmecIes[item.CodEmec].CodIes.ToString();
                                ////ies.Nomies = ListaIesSiaEmec.Find(x => x.Cod_Ies.ToString() == ies.codies.ToString()).Nom_Ies;
                                CursoProf curso    = new CursoProf();
                                curso.nomcursoEmec = cursoCenso.Find(x => x.CodEmec == item.CodEmec).NomCursoCenso;
                                curso.codcursoEmec = item.CodEmec;
                                //if (cursoCenso.nomcursoEmec != null)
                                if (!String.IsNullOrEmpty(curso.nomcursoEmec))
                                {
                                    ies.Cursos.Add(curso);
                                    prof.Listaies.Add(ies);
                                }
                            }
                        }
                    }

                                             );
                }

                // inicio da pesquisa e ordenação

                var listaprofselecionado = listaProfessor;

                ProfessorEscrita profesc;

                foreach (var pro in DicProfessor2.Values)
                {
                    /* if (pro.Listaies.Count() == 0)
                     *  {
                     *      pro.cpfProfessor = pro.cpfProfessor;
                     *  } */
                    foreach (var Umaies in pro.Listaies)
                    {
                        profesc        = new ProfessorEscrita();
                        profesc.Codies = Umaies.codies;
                        var IesEmec = ListaIesSiaEmec.Find(x => x.Cod_Ies.ToString() == Umaies.codies);
                        profesc.Codies = IesEmec.Cod_Ies_Emec.ToString();
                        string Carregaies = (IesEmec.Nom_Ies) ?? "SEM IES";

                        /*
                         * if (pro.cpfProfessor == 83958622887)
                         * {
                         *  pro.cpfProfessor = pro.cpfProfessor;
                         * }
                         */
                        if (Carregaies != null)
                        {
                            profesc.NomIes = Carregaies;
                        }

                        profesc.NomeCompleto = pro.NomeCompleto;
                        profesc.cpfProfessor = pro.cpfProfessor;
                        // profesc.cpfStamp = pro.cpfProfessor.ToString(@"000\.000\.000\-00");
                        profesc.NomeCompleto = pro.NomeCompleto;
                        profesc.Dtnascimento = System.DateTime.Parse(pro.Dtnascimento).ToString("dd/MM/yyyy");
                        profesc.NomSexo      = pro.NomSexo;
                        if (pro.NomRaca == "Nao declarada")
                        {
                            // Ajuste Censo 2019
                            pro.NomRaca = "Docente não quis declarar cor/raça";
                        }
                        profesc.NomRaca        = pro.NomRaca;
                        profesc.NomMae         = pro.NomMae;
                        profesc.NacioProfessor = pro.NacioProfessor;
                        profesc.Pais           = pro.Pais;
                        profesc.UF             = pro.UF;
                        profesc.Municipio      = pro.Municipio;
                        profesc.Escolaridade   = pro.Escolaridade;
                        if (pro.Titulacao == "MESTRE")
                        {
                            pro.Titulacao = "MESTRADO";
                        }
                        else if (pro.Titulacao == "DOUTOR")
                        {
                            pro.Titulacao = "DOUTORADO";
                        }
                        else if (pro.Titulacao == "ESPECIALISTA")
                        {
                            pro.Titulacao = "ESPECIALIZAÇÃO";
                        }
                        profesc.Posgraduacao          = pro.Titulacao;
                        profesc.Docentecomdeficiencia = pro.DocentecomDeficiencia;
                        profesc.Def1 = pro.def1;
                        profesc.Def2 = pro.def2;
                        profesc.Def3 = pro.def3;
                        //profesc.Situacaodocente = (pro.Situacaodocente == "SIM" ? "Esteve em Exercicio" : pro.Situacaodocente);
                        profesc.Situacaodocente   = "Esteve em Exercício";
                        profesc.Perfil            = pro.Perfil;
                        profesc.Regime            = pro.Regime;
                        profesc.DocenteSubstituto = pro.DocenteSubstituto;
                        profesc.DocenteAtivo3112  = pro.DocenteAtivo3112;
                        // Ajustado Thiago ///
                        profesc.primeiraatuacao = "Curso de graduação presencial";
                        if (dicProfessorAtividade.ContainsKey(profesc.cpfProfessor.ToString()))
                        {
                            var at = dicProfessorAtividade[profesc.cpfProfessor.ToString()];

                            if (Umaies.Cursos.Select(x => x.nomcursoEmec).ToList().Exists(x => x.Contains("EAD") || x.Contains("VIRTUAL")))
                            {
                                profesc.segundaatuacao = "Curso de graduação a distância";
                            }
                            else
                            {
                                profesc.segundaatuacao = at.Atividades.ToArray().ElementAtOrDefault(1);
                            }

                            profesc.terceiraatuacao = at.Atividades.ToArray().ElementAtOrDefault(2);
                            profesc.quartaatuacao   = at.Atividades.ToArray().ElementAtOrDefault(3);
                        }
                        else
                        {
                            if (Umaies.Cursos.Select(x => x.nomcursoEmec).ToList().Exists(x => x.Contains("EAD") || x.Contains("VIRTUAL")))
                            {
                                profesc.segundaatuacao = "Curso de graduação a distância";
                            }
                        }

                        // Falta Incluir Pesquisa


                        profesc.Cursos1 = String.Join(";", Umaies.Cursos.Select(x => x.codcursonomecurso).ToList());
                        //Ajustado Thiago //
                        //profesc.Atividades = dicProfessorAtividade.TryGetValue(profesc.cpfProfessor.ToString(), out var p) ? String.Join(";", p.getSorted()) : "" ;
                        Listatotalprof.Add(profesc);
                    }
                    //);
                }  // termino for each

                //  Monta arquivo para Download em Excel

                var stream = new MemoryStream();

                using (var package = new ExcelPackage(stream))
                {
                    var shResumo      = package.Workbook.Worksheets.Add("Resultado");
                    var shParam       = package.Workbook.Worksheets.Add("Parametros");
                    var shNewProfes   = package.Workbook.Worksheets.Add("Professores");
                    var shProfessores = package.Workbook.Worksheets.Add("Professores Extração");

                    shResumo.Cells.LoadFromCollection(resultados, true);
                    shParam.Cells.LoadFromCollection(parametros, true);
                    shNewProfes.Cells.LoadFromCollection(listaProfExcel, true);
                    shProfessores.Cells.LoadFromCollection(Listatotalprof, true);


                    using (var range = shProfessores.Cells[1, 1, 1, 29])
                    {
                        range.Style.Fill.PatternType = ExcelFillStyle.Solid;
                        range.Style.Fill.BackgroundColor.SetColor(Color.Yellow);
                    }

                    for (int i = 1; i < 29; i++)
                    {
                        //count ++;
                        shProfessores.Cells[1, i].Style.Font.Bold = true;
                    }

                    // int lin = 2;
                    int col = 29;

                    for (int i = 2; i < 1000000; i++)
                    {
                        if (shProfessores.Cells[i, 1].Value == null)
                        {
                            break;
                        }

                        var cursos = new [] { "SEM CURSOS" };
                        if (shProfessores.Cells[i, col].Value != null)
                        {
                            cursos = ((string)shProfessores.Cells[i, col].Value).Split(";");
                            int vnum  = 1;
                            int vcont = 1;
                            int vcol  = 29;
                            foreach (string parte in cursos)
                            {
                                if (vnum % 2 == 0)
                                {
                                    shProfessores.Cells[1, vcol].Value = "CÓDIGO NO CURSO e-MEC";

                                    using (var range = shProfessores.Cells[1, 1, 1, vcol + 1])
                                    {
                                        range.Style.Fill.PatternType = ExcelFillStyle.Solid;
                                        range.Style.Fill.BackgroundColor.SetColor(Color.Yellow);
                                    }

                                    for (int j = 1; j < vcol + 1; j++)
                                    {
                                        //count ++;
                                        shProfessores.Cells[1, j].Style.Font.Bold = true;
                                    }
                                }
                                else               // else if (vnum %2 == 0)
                                {
                                    shProfessores.Cells[1, vcol].Value = (vcont) + "º" + " CURSO (NOME)";
                                    vcont = vcont + 1;
                                    using (var range = shProfessores.Cells[1, 1, 1, vcol + 1])
                                    {
                                        range.Style.Fill.PatternType = ExcelFillStyle.Solid;
                                        range.Style.Fill.BackgroundColor.SetColor(Color.Yellow);
                                    }

                                    for (int j = 1; j < vcol + 1; j++)
                                    {
                                        //count ++;
                                        shProfessores.Cells[1, j].Style.Font.Bold = true;
                                    }
                                }
                                vnum = vnum + 1;
                                vcol = vcol + 1;
                            }

                            col = 29;

                            foreach (var item in cursos)
                            {
                                shProfessores.Cells[i, col++].Value = item.ToString();
                            }
                            col = 29;
                        }
                    }

                    package.Save();
                };

                stream.Position = 0;
                var contentType = "application/octet-stream";
                var fileName    = "Geracao-" + resultadoOTM.Id + "-" + (DateTime.Now.ToString("dd-MM-yyyy")) + ".xlsx";

                return(File(stream, contentType, fileName));
            } // termino try catch
            catch (System.Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Erro na Consulta."));
            }
            finally{
            }
        }    // termino da requisicao