protected void btnGetStudentsList_Click(object sender, EventArgs e)
 {
     DTOAttendance toAtt = new DTOAttendance();
     toAtt.BranchId = int.Parse(ddlClass.SelectedValue);
     if (Session["InstituteType"].ToString() == "S")
     {
         toAtt.SemesterId = 0;
     }
     else
     {
         toAtt.SemesterId = int.Parse(ddlSemester.SelectedValue);
     }
     if (Session["InstituteType"].ToString() == "S")
     {
         toAtt.SubjectId = 0;
     }
     else
     {
         toAtt.SubjectId = int.Parse(ddlSubjects.SelectedValue);
     }
     toAtt.Month = ddlMonth.SelectedValue;
     toAtt.Year = int.Parse(ddlYear.SelectedValue);
     toAtt.InstituteId = int.Parse(Session["InstituteID"].ToString());
     ViewState["CurrentTable"] = null;
     SetInitialRow();
     AddRowsToGrid(new BOAttendance().GetStudentsList(toAtt));
 }
        public bool SaveUpdateAttendance(DTOAttendance toAtt)
        {
            Campus2CaretakerDataContext dbContext = new Campus2CaretakerDataContext();
               try
               {
               if (dbContext.tblAttendanceDetails.Where(x => x.colStudentId == toAtt.StudentId && x.colMonth == toAtt.Month && x.colYear == toAtt.Year).ToList().Count > 0)
               {
                   tblAttendanceDetail Attendance = dbContext.tblAttendanceDetails.Where(x => x.colStudentId == toAtt.StudentId && x.colMonth == toAtt.Month && x.colYear == toAtt.Year).FirstOrDefault();
                   Attendance.colBranchId = toAtt.BranchId;
                   Attendance.colSemesterId = toAtt.SemesterId;
                   Attendance.colMonth = toAtt.Month;
                   Attendance.colYear = toAtt.Year;
                   Attendance.colInstituteId = toAtt.InstituteId;
                   Attendance.colClassesAttendedMonth = toAtt.ClassesAttended;
                   Attendance.colClassesAttendedMonthPercent = toAtt.ClassesPercentage;
                   Attendance.colClassesHeldMonth = toAtt.ClassesHeld;
                   Attendance.colAccumulatedClassesAttended = toAtt.CumClassesAttended;
                   Attendance.colAccumulatedClassesHeld = toAtt.CumClassesHeld;
                   Attendance.colAccumulatedClassesAttendedPercent = toAtt.CumClassesPercentage;
                   Attendance.colStudentId = toAtt.StudentId;
                   Attendance.colSubjectId = toAtt.SubjectId;
                   Attendance.colRemarks = toAtt.Remarks;
                   Attendance.colDescription = toAtt.Description;

                   dbContext.SubmitChanges();
                   return true;
               }
               else
               {
                   tblAttendanceDetail Attendance = new tblAttendanceDetail();
                   Attendance.colBranchId = toAtt.BranchId;
                   Attendance.colSemesterId = toAtt.SemesterId;
                   Attendance.colMonth = toAtt.Month;
                   Attendance.colYear = toAtt.Year;
                   Attendance.colInstituteId = toAtt.InstituteId;
                   Attendance.colClassesAttendedMonth = toAtt.ClassesAttended;
                   Attendance.colClassesAttendedMonthPercent = toAtt.ClassesPercentage;
                   Attendance.colClassesHeldMonth = toAtt.ClassesHeld;
                   Attendance.colAccumulatedClassesAttended = toAtt.CumClassesAttended;
                   Attendance.colAccumulatedClassesHeld = toAtt.CumClassesHeld;
                   Attendance.colAccumulatedClassesAttendedPercent = toAtt.CumClassesPercentage;
                   Attendance.colStudentId = toAtt.StudentId;
                   Attendance.colSubjectId = toAtt.SubjectId;
                   Attendance.colRemarks = toAtt.Remarks;
                   Attendance.colDescription = toAtt.Description;

                   dbContext.tblAttendanceDetails.InsertOnSubmit(Attendance);
                   dbContext.SubmitChanges();
                   return true;
               }
               }
               catch
               {
               return false;
               }
        }
        public DataTable GetStudentsListEdit(DTOAttendance toAtt)
        {
            Campus2CaretakerDataContext dbContext = new Campus2CaretakerDataContext();

               if (toAtt.SemesterId > 0)
               {
               string _year = toAtt.Year.ToString();
               return dbContext.GetStudentsAttendanceDetailsEdit(toAtt.InstituteId,
                                                                     toAtt.SubjectId,
                                                                     toAtt.Month,
                                                                     _year,
                                                                     toAtt.SemesterId,
                                                                     toAtt.BranchId).ToDataTable();
               }
               throw new NotImplementedException();
        }
        protected void btnSaveAttendance_Click(object sender, EventArgs e)
        {
            for (int index = 0; index < gvAttendance.Rows.Count - 1; index++)
            {
                DTOAttendance toAtt = new DTOAttendance();
                toAtt.BranchId = int.Parse(ddlClass.SelectedValue);
                if (Session["InstituteType"].ToString() == "S")
                {
                    toAtt.SemesterId = 0;
                }
                else
                {
                    toAtt.SemesterId = int.Parse(ddlSemester.SelectedValue);
                }

                if (Session["InstituteType"].ToString() == "S")
                {
                    toAtt.SubjectId = 0;
                }
                else
                {
                    toAtt.SubjectId = int.Parse(ddlSubjects.SelectedValue);
                }

                toAtt.Month = ddlMonth.SelectedValue;
                toAtt.Year = int.Parse(ddlYear.SelectedValue);
                toAtt.Description = txtDescription.Text;

                Label lblStudentID = (Label)gvAttendance.Rows[index].FindControl("lblStudentID");
                Label lblStudentName = (Label)gvAttendance.Rows[index].FindControl("lblStudentName");
                TextBox txtClassesHeld = (TextBox)gvAttendance.Rows[index].FindControl("txtClassesHeld");
                TextBox txtClassesAttended = (TextBox)gvAttendance.Rows[index].FindControl("txtClassesAttended");
                TextBox txtPercentage = (TextBox)gvAttendance.Rows[index].FindControl("txtPercentage");
                TextBox txtCumClassesHeld = (TextBox)gvAttendance.Rows[index].FindControl("txtCumClassesHeld");
                TextBox txtCumClassesAttended = (TextBox)gvAttendance.Rows[index].FindControl("txtCumClassesAttended");
                TextBox txtCumPercentage = (TextBox)gvAttendance.Rows[index].FindControl("txtCumPercentage");
                TextBox txtReMarks = (TextBox)gvAttendance.Rows[index].FindControl("txtRemarks");

                toAtt.InstituteId = int.Parse(Session["InstituteID"].ToString());
                toAtt.ClassesAttended = decimal.Parse(txtClassesAttended.Text);
                toAtt.ClassesHeld = decimal.Parse(txtClassesHeld.Text);
                toAtt.ClassesPercentage = decimal.Parse(txtPercentage.Text);
                toAtt.CumClassesHeld = decimal.Parse(txtCumClassesHeld.Text);
                toAtt.CumClassesAttended = decimal.Parse(txtCumClassesAttended.Text);
                toAtt.CumClassesPercentage = decimal.Parse(txtCumPercentage.Text);
                toAtt.Remarks = txtReMarks.Text;

                toAtt.StudentId = int.Parse(lblStudentID.Text);

                DTOStudentRegistration tostu = new DTOStudentRegistration();
                tostu.StudentId = int.Parse(lblStudentID.Text);
                DataTable dtStudDet = new BOStudentRegistration().GetStudentDetails(tostu);

                if (new BOAttendance().SaveUpdateAttendance(toAtt))
                {
                    #region SMS
                    string _messageTemplate;
                    if (Session["InstituteType"].ToString() == "S")
                    {
                        _messageTemplate = new BOSms().GetSMSTemplate("ATTENDANCEINTIMATION");
                    }
                    else
                    {
                        _messageTemplate = new BOSms().GetSMSTemplate("ATTENDANCEINTIMATIONWITHSUBJECT");
                    }

                    C2CSMS.SendSMS(_messageTemplate.Replace("##STUDENTNAME##", dtStudDet.Rows[0][0].ToString()).Replace("##ATTENDEDDAYS##", String.Concat(toAtt.ClassesAttended, " Out of ", toAtt.ClassesHeld)).Replace("##SUBJECTNAME##", ddlSubjects.SelectedItem.Text).Replace("##MONTHYEAR##", String.Concat(ddlMonth.SelectedItem.Text, string.Empty, ddlYear.SelectedItem.Text)).Replace("##InstituteName##", Session["InstituteName"].ToString()), dtStudDet.Rows[0][9].ToString());
                    #endregion

                    #region E-Mail

                    //Send mail
                    if (!string.IsNullOrEmpty(dtStudDet.Rows[0][12].ToString()))
                    {
                        string s_subject = "Information From Campus2Caretaker";
                        string s_msg = String.Concat("Greetings from Campus2Caretaker.", Environment.NewLine, Environment.NewLine, _messageTemplate.Replace("##STUDENTNAME##", dtStudDet.Rows[0][0].ToString()).Replace("##ATTENDEDDAYS##", String.Concat(toAtt.ClassesAttended, " Out of ", toAtt.ClassesHeld)).Replace("##SUBJECTNAME##", ddlSubjects.SelectedItem.Text).Replace("##MONTHYEAR##", String.Concat(ddlMonth.SelectedItem.Text, string.Empty, ddlYear.SelectedItem.Text)).Replace("##InstituteName##", Session["InstituteName"].ToString())) + Environment.NewLine + Environment.NewLine;

                        C2CEmail.SendC2CMail(s_msg, s_subject, string.Empty, dtStudDet.Rows[0][12].ToString(), null, null);
                    }

                    #endregion

                    //string script = @"document.getElementById('" + divStatus.ClientID + "').innerHTML='Record updated';var elem = document.createElement('img');elem.setAttribute('src', 'tick.jpg');document.getElementById('" + divStatus.ClientID + "').appendChild(elem);document.getElementById('" + divStatus.ClientID + "').style.color = 'Green';document.getElementById('" + divStatus.ClientID + "').style.fontSize = '1em' ;document.getElementById('" + divStatus.ClientID + "').style.fontWeight = 'bold' ;setTimeout(function(){document.getElementById('" + divStatus.ClientID + "').style.display='none';},4500);";
                    //ScriptManager.RegisterStartupScript(this, this.GetType(), "script", script, true);
                    string alertScript = "jAlert('Attendance Details Saved Successfully', 'Campus2Caretaker');";
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertScript", alertScript, true);

                    clear();
                }
                else
                {
                    //string script = @"document.getElementById('" + divStatus.ClientID + "').innerHTML='Error';var elem = document.createElement('img');elem.setAttribute('src', 'cross.jpg');document.getElementById('" + divStatus.ClientID + "').appendChild(elem);document.getElementById('" + divStatus.ClientID + "').style.color = 'Red';document.getElementById('" + divStatus.ClientID + "').style.fontSize = '1em' ;document.getElementById('" + divStatus.ClientID + "').style.fontWeight = 'bold' ;setTimeout(function(){document.getElementById('" + divStatus.ClientID + "').style.display='none';},4500);";
                    //ScriptManager.RegisterStartupScript(this, this.GetType(), "script", script, true);
                    string alertScript = "jAlert('Error', 'Campus2Caretaker');";
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "alertScript", alertScript, true);
                }
            }
        }
 public DataTable GetStudentsListEdit(DTOAttendance toAtt)
 {
     return new DAOAttendance().GetStudentsListEdit(toAtt);
 }
 public bool SaveUpdateAttendance(DTOAttendance toAtt)
 {
    return new DAOAttendance().SaveUpdateAttendance(toAtt);
 }