public ActionResult SaveTimeTable_For_Staff(string[][] data) { string sReturnText = string.Empty; using (var dbcontext = new SchoolERPDBContext()) { using (var transaction = dbcontext.Database.BeginTransaction()) { try { if (data.Length > 0) { int nStaff_Id = Convert.ToInt32(data[0][8]); long nAcademic_Year = Convert.ToInt64(data[0][9]); for (int nRowCount = 0; nRowCount < data.Length; nRowCount++) { Staff_TimeTable staff_TimeTable = new Staff_TimeTable(); if (dbcontext.Staff_TimeTable.Where(x => x.Staff_Id == nStaff_Id && x.Academic_Year == nAcademic_Year && (x.Is_Deleted == null || x.Is_Deleted == false) && x.Week == (nRowCount + 1)).Count() == 0) { staff_TimeTable.Academic_Year = nAcademic_Year; staff_TimeTable.Staff_Id = nStaff_Id; //staff_TimeTable.Class_Id = dbcontext.Section.Where(x => x.Id == nSection_Id).FirstOrDefault().Class_Id; staff_TimeTable.Section_Id_Period1 = Convert.ToInt16(data[nRowCount][0]); staff_TimeTable.Section_Id_Period2 = Convert.ToInt16(data[nRowCount][1]); staff_TimeTable.Section_Id_Period3 = Convert.ToInt16(data[nRowCount][2]); staff_TimeTable.Section_Id_Period4 = Convert.ToInt16(data[nRowCount][3]); staff_TimeTable.Section_Id_Period5 = Convert.ToInt16(data[nRowCount][4]); staff_TimeTable.Section_Id_Period6 = Convert.ToInt16(data[nRowCount][5]); staff_TimeTable.Section_Id_Period7 = Convert.ToInt16(data[nRowCount][6]); staff_TimeTable.Section_Id_Period8 = Convert.ToInt16(data[nRowCount][7]); staff_TimeTable.Week = nRowCount + 1; staff_TimeTable.Created_By = 5; staff_TimeTable.Created_On = DateTime.Now; staff_TimeTable.Is_Active = true; dbcontext.Staff_TimeTable.Add(staff_TimeTable); dbcontext.SaveChanges(); } else { var staff_TimeTable_Id_ToBeModified = dbcontext.Staff_TimeTable.Where(x => x.Staff_Id == nStaff_Id && x.Academic_Year == nAcademic_Year && (x.Is_Deleted == null || x.Is_Deleted == false) && x.Week == (nRowCount + 1)).FirstOrDefault().Id; var Staff_TimeTable_ToBeModified = dbcontext.Staff_TimeTable.Find(staff_TimeTable_Id_ToBeModified); Staff_TimeTable_ToBeModified.Section_Id_Period1 = Convert.ToInt16(data[nRowCount][0]); Staff_TimeTable_ToBeModified.Section_Id_Period2 = Convert.ToInt16(data[nRowCount][1]); Staff_TimeTable_ToBeModified.Section_Id_Period3 = Convert.ToInt16(data[nRowCount][2]); Staff_TimeTable_ToBeModified.Section_Id_Period4 = Convert.ToInt16(data[nRowCount][3]); Staff_TimeTable_ToBeModified.Section_Id_Period5 = Convert.ToInt16(data[nRowCount][4]); Staff_TimeTable_ToBeModified.Section_Id_Period6 = Convert.ToInt16(data[nRowCount][5]); Staff_TimeTable_ToBeModified.Section_Id_Period7 = Convert.ToInt16(data[nRowCount][6]); Staff_TimeTable_ToBeModified.Section_Id_Period8 = Convert.ToInt16(data[nRowCount][7]); Staff_TimeTable_ToBeModified.Updated_By = 5; Staff_TimeTable_ToBeModified.Updated_On = DateTime.Now; dbcontext.Entry(Staff_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)); }
public JsonResult AddStaff_TimeTable(int Staff_Id, long Academic_Year) { List <Staff_TimeTable> Staff_TimeTableList_ViewModelobj = new List <Staff_TimeTable>(); using (var dbcontext = new SchoolERPDBContext()) { using (var transaction = dbcontext.Database.BeginTransaction()) { try { PropertyInfo[] proeprties = typeof(Staff_TimeTable).GetProperties(); if (dbcontext.Staff_TimeTable.Where(x => x.Staff_Id == Staff_Id && x.Academic_Year == Academic_Year && (x.Is_Deleted == null || x.Is_Deleted == false)).Count() == 0) { for (int nCount = 0; nCount <= 5; nCount++) { Staff_TimeTable staffTimeTableViewModel = new Staff_TimeTable(); foreach (PropertyInfo property in proeprties) { if (property.Name == "Week") { if (nCount == 0) { staffTimeTableViewModel.Week = 1; } else if (nCount == 1) { staffTimeTableViewModel.Week = 2; } else if (nCount == 2) { staffTimeTableViewModel.Week = 3; } else if (nCount == 3) { staffTimeTableViewModel.Week = 4; } else if (nCount == 4) { staffTimeTableViewModel.Week = 5; } else if (nCount == 5) { staffTimeTableViewModel.Week = 6; } } //if (nCount == 0) //{ //} //else //{ //} } Staff_TimeTableList_ViewModelobj.Add(staffTimeTableViewModel); } return(Json(Staff_TimeTableList_ViewModelobj.ToArray(), JsonRequestBehavior.AllowGet)); } else { var existingstaffTimeTable = dbcontext.Staff_TimeTable.Where(x => x.Staff_Id == Staff_Id && x.Academic_Year == Academic_Year && (x.Is_Deleted == null || x.Is_Deleted == false)).ToList(); return(Json(existingstaffTimeTable.ToArray(), JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(ex.InnerException.Message.ToString(), JsonRequestBehavior.AllowGet)); } } } }