示例#1
0
        public string AvailableDoctorSessionsProjects(AG_LIVESESSIONEXCEL liveSession)
        {
            DataSet ds = LiveDoctors.AvailableDoctorSessionsProjects(liveSession);

            if (ds.Tables.Count > 0)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    StringBuilder sb = new StringBuilder();
                    List <AG_LIVESESSIONEXCEL> aG_LIVESESSIONEXCELAvailablelst = new List <AG_LIVESESSIONEXCEL>();
                    AG_LIVESESSIONEXCEL        aG = null;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        aG = new AG_LIVESESSIONEXCEL();
                        aG.APP_LIVESESSION_NO         = dr["APP_LIVESESSION_NO"].ToString();
                        aG.APP_TERM                   = dr["APP_TERM"].ToString();
                        aG.APP_DAY                    = dr["APP_DAY"].ToString();
                        aG.APP_SESSION_NUMBER         = dr["APP_SESSION_NUMBER"].ToString();
                        aG.APP_SESSION_TIME           = dr["APP_SESSION_TIME"].ToString();
                        aG.STUDIO_NUMBER              = dr["STUDIO_NUMBER"].ToString();
                        aG.FACULTY_NAME               = dr["FACULTY_NAME"].ToString();
                        aG.GENERAL_MAJOR              = dr["GENERAL_MAJOR"].ToString();
                        aG.SPECIFIC_MAJOR             = dr["SPECIFIC_MAJOR"].ToString();
                        aG.STUDY_LEVEL                = dr["STUDY_LEVEL"].ToString();
                        aG.COURSE_NUMBER              = dr["COURSE_NUMBER"].ToString();
                        aG.FIRST_SEMESTER_CRN_MALE    = dr["FIRST_SEMESTER_CRN_MALE"].ToString();
                        aG.FIRST_SEMESTER_CRN_FEMALE  = dr["FIRST_SEMESTER_CRN_FEMALE"].ToString();
                        aG.SECOND_SEMESTER_CRN_MALE   = dr["SECOND_SEMESTER_CRN_MALE"].ToString();
                        aG.SECOND_SEMESTER_CRN_FEMALE = dr["SECOND_SEMESTER_CRN_FEMALE"].ToString();
                        aG.FEMALE_COURSE_COLLAB_LINK  = dr["FEMALE_COURSE_COLLAB_LINK"].ToString();
                        aG.MALE_COURSE_COLLAB_LINK    = dr["MALE_COURSE_COLLAB_LINK"].ToString();
                        aG.COURSE_NAME                = dr["COURSE_NAME"].ToString();
                        aG.STAFF_NAME                 = dr["STAFF_NAME"].ToString();
                        aG.EMAIL          = dr["EMAIL"].ToString();
                        aG.MOBILE         = dr["MOBILE"].ToString();
                        aG.STAFF_NUMBER   = dr["STAFF_NUMBER"].ToString();
                        aG.EXAMDAY_PERIOD = dr["EXAMDAY_PERIOD"].ToString();
                        aG.APP_DATE       = dr["APP_DATE"].ToString();// Convert.ToDateTime(dr["APP_DATE"]);
                        aG.TeachType      = dr["TEACHTYPE"].ToString();
                        aG.GroupType      = (GroupDataType)Enum.Parse(typeof(GroupDataType), dr["GROUPTYPE"].ToString(), true);
                        aG.SessionType    = (SessionType)Enum.Parse(typeof(SessionType), dr["SESSIONTYPE"].ToString(), true);

                        aG_LIVESESSIONEXCELAvailablelst.Add(aG);
                    }

                    sb.Append("<table class='table table-bordered table-hover' style='border-collapse: collapse!important;width: 100%;text-align: center;'>");

                    sb.Append("<tr>" +
                              "<td>الأستوديو</td> ");
                    sb.Append("<td> التاريخ</td>");
                    sb.Append("<td> الفترة</td>" +
                              " <td>الوقت</td> </tr>");
                    var days = (from i in aG_LIVESESSIONEXCELAvailablelst
                                select i.APP_DAY).Distinct();
                    string   color  = "background-color:white";
                    string[] colors = { "aliceblue", "antiquewhite", "honeydew", "azure", "lemonchiffon", "lavenderblush", "aliceblue" };

                    int counter = 0;
                    foreach (AG_LIVESESSIONEXCEL d in aG_LIVESESSIONEXCELAvailablelst.OrderBy(x => Convert.ToDateTime(x.APP_DATE)))
                    {
                        color = colors[Convert.ToInt32(d.APP_DAY) - 1];


                        sb.Append("<td     style='background-color:" + color + "'>" + d.STUDIO_NUMBER + "</td>");

                        sb.Append("<td   style='background-color:" + color + "' >" +
                                  "<button id='button" + counter + "' style='font-weight:bold;font-size:16px;' class='btn btn-minier btn-warning' " +
                                  "onclick='edit(" + counter + ")' ' " + Data(d) + "'><i class='ace-icon fa fa-pencil-square-o bigger-110'></i> <span class='bigger-110 no-text-shadow'>" + string.Format("{0:dd/MM/yyyy}", Convert.ToDateTime(d.APP_DATE)) + " - " + Utilities.DayEn_AR(Convert.ToDateTime(d.APP_DATE).DayOfWeek.ToString()) + "</span></button>" +
                                  "</td>");


                        string session = "";
                        switch (Convert.ToInt32(d.APP_SESSION_NUMBER.Replace("session", "")))
                        {
                        case 1:
                        case 2:
                            session = "الفترة الأولي";
                            break;

                        case 3:
                        case 4:
                            session = "الفترة الثانية";
                            break;

                        case 5:
                        case 6:
                            session = "الفترة الثالثة";
                            break;
                        }
                        sb.Append("<td   style='background-color:" + color + "' >" +
                                  session
                                  + "</td>");

                        sb.Append("<td style='background-color:" + color + "'>" + d.APP_SESSION_TIME + "</td>");
                        sb.Append("</tr>");
                        counter++;
                    }
                    sb.Append("</table>");

                    DataSet  dsLiveStart = LiveDoctors.LiveSessionStart(liveSession);
                    DateTime firstDate   = (from i in aG_LIVESESSIONEXCELAvailablelst
                                            select Convert.ToDateTime(i.APP_DATE)).Distinct().OrderBy(x => x).FirstOrDefault();
                    if (dsLiveStart.Tables.Count > 0)
                    {
                        if (dsLiveStart.Tables[0].Rows.Count > 0)
                        {
                            foreach (DataRow dr in dsLiveStart.Tables[0].Rows)
                            {
                                firstDate = Convert.ToDateTime(dr["LIVE_START"]);
                            }
                        }
                    }

                    bool within_3Days = false;
                    if (DateTime.Compare(firstDate.AddDays(3), DateTime.Now) <= 0) //Less than zero	t1 is earlier than t2.
                    {
                        within_3Days = false;
                    }
                    else
                    {
                        within_3Days = true;//true
                    }
                    AvailableDates availableDates = new AvailableDates();
                    availableDates.within_3Days        = within_3Days;
                    availableDates.availableDatesTable = sb.ToString();
                    availableDates.changeSessionType   = ChangeSessionType.SingleChange;

                    string jsonString;
                    jsonString = JsonConvert.SerializeObject(availableDates);

                    return(jsonString);
                }
            }
            return("");
        }