public JsonResult AddClass_TimeTable(int Section_Id, long Academic_Year) { //List<Class_TimeTableList_ViewModel> Class_TimeTableList_ViewModelobj = new List<Model.ViewModel.Class_TimeTableList_ViewModel>(); List <Class_TimeTable> Class_TimeTableList_ViewModelobj = new List <Class_TimeTable>(); using (var dbcontext = new SchoolERPDBContext()) { using (var transaction = dbcontext.Database.BeginTransaction()) { try { PropertyInfo[] proeprties = typeof(Class_TimeTable).GetProperties(); if (dbcontext.Class_TimeTable.Where(x => x.Section_Id == Section_Id && x.Academic_Year == Academic_Year && (x.Is_Deleted == null || x.Is_Deleted == false)).Count() == 0) { for (int nCount = 0; nCount <= 5; nCount++) { Class_TimeTable classTimeTableViewModel = new Class_TimeTable(); foreach (PropertyInfo property in proeprties) { if (property.Name == "Week") { if (nCount == 0) { classTimeTableViewModel.Week = 1; } else if (nCount == 1) { classTimeTableViewModel.Week = 2; } else if (nCount == 2) { classTimeTableViewModel.Week = 3; } else if (nCount == 3) { classTimeTableViewModel.Week = 4; } else if (nCount == 4) { classTimeTableViewModel.Week = 5; } else if (nCount == 5) { classTimeTableViewModel.Week = 6; } } //if (nCount == 0) //{ //} //else //{ //} } Class_TimeTableList_ViewModelobj.Add(classTimeTableViewModel); } return(Json(Class_TimeTableList_ViewModelobj.ToArray(), JsonRequestBehavior.AllowGet)); } else { var existingClassTimeTable = dbcontext.Class_TimeTable.Where(x => x.Section_Id == Section_Id && x.Academic_Year == Academic_Year && (x.Is_Deleted == null || x.Is_Deleted == false)).ToList(); return(Json(existingClassTimeTable.ToArray(), JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(ex.InnerException.Message.ToString(), JsonRequestBehavior.AllowGet)); } } } }
public ActionResult SaveTimeTable_For_Class(string[][] data) { string sReturnText = string.Empty; using (var dbcontext = new SchoolERPDBContext()) { using (var transaction = dbcontext.Database.BeginTransaction()) { try { if (data.Length > 0) { int nSection_Id = Convert.ToInt32(data[0][8]); long nAcademic_Year = Convert.ToInt64(data[0][9]); for (int nRowCount = 0; nRowCount < data.Length; nRowCount++) { Class_TimeTable class_TimeTable = new Class_TimeTable(); if (dbcontext.Class_TimeTable.Where(x => x.Section_Id == nSection_Id && x.Academic_Year == nAcademic_Year && (x.Is_Deleted == null || x.Is_Deleted == false) && x.Week == (nRowCount + 1)).Count() == 0) { class_TimeTable.Academic_Year = nAcademic_Year; class_TimeTable.Section_Id = nSection_Id; class_TimeTable.Class_Id = dbcontext.Section.Where(x => x.Id == nSection_Id).FirstOrDefault().Class_Id; class_TimeTable.Subject_Id_Period_1 = Convert.ToInt16(data[nRowCount][0]); class_TimeTable.Subject_Id_Period_2 = Convert.ToInt16(data[nRowCount][1]); class_TimeTable.Subject_Id_Period_3 = Convert.ToInt16(data[nRowCount][2]); class_TimeTable.Subject_Id_Period_4 = Convert.ToInt16(data[nRowCount][3]); class_TimeTable.Subject_Id_Period_5 = Convert.ToInt16(data[nRowCount][4]); class_TimeTable.Subject_Id_Period_6 = Convert.ToInt16(data[nRowCount][5]); class_TimeTable.Subject_Id_Period_7 = Convert.ToInt16(data[nRowCount][6]); class_TimeTable.Subject_Id_Period_8 = Convert.ToInt16(data[nRowCount][7]); class_TimeTable.Week = nRowCount + 1; class_TimeTable.Created_By = 5; class_TimeTable.Created_On = DateTime.Now; class_TimeTable.Is_Active = true; dbcontext.Class_TimeTable.Add(class_TimeTable); dbcontext.SaveChanges(); } else { var class_TimeTable_Id_ToBeModified = dbcontext.Class_TimeTable.Where(x => x.Section_Id == nSection_Id && x.Academic_Year == nAcademic_Year && (x.Is_Deleted == null || x.Is_Deleted == false) && x.Week == (nRowCount + 1)).FirstOrDefault().Id; var Class_TimeTable_ToBeModified = dbcontext.Class_TimeTable.Find(class_TimeTable_Id_ToBeModified); Class_TimeTable_ToBeModified.Subject_Id_Period_1 = Convert.ToInt16(data[nRowCount][0]); Class_TimeTable_ToBeModified.Subject_Id_Period_2 = Convert.ToInt16(data[nRowCount][1]); Class_TimeTable_ToBeModified.Subject_Id_Period_3 = Convert.ToInt16(data[nRowCount][2]); Class_TimeTable_ToBeModified.Subject_Id_Period_4 = Convert.ToInt16(data[nRowCount][3]); Class_TimeTable_ToBeModified.Subject_Id_Period_5 = Convert.ToInt16(data[nRowCount][4]); Class_TimeTable_ToBeModified.Subject_Id_Period_6 = Convert.ToInt16(data[nRowCount][5]); Class_TimeTable_ToBeModified.Subject_Id_Period_7 = Convert.ToInt16(data[nRowCount][6]); Class_TimeTable_ToBeModified.Subject_Id_Period_8 = Convert.ToInt16(data[nRowCount][7]); Class_TimeTable_ToBeModified.Updated_By = 5; Class_TimeTable_ToBeModified.Updated_On = DateTime.Now; dbcontext.Entry(Class_TimeTable_ToBeModified).State = EntityState.Modified; dbcontext.SaveChanges(); } if (nRowCount == (data.Length - 1)) { transaction.Commit(); sReturnText = "OK"; } } } } catch (Exception ex) { transaction.Rollback(); sReturnText = ex.InnerException.Message.ToString(); } } } return(Json(sReturnText, JsonRequestBehavior.AllowGet)); }