public ActionResult Index() { int user = Convert.ToInt32(Session["user_id"]); experts e = db.experts.First(p => p.expert_id == user); var site_experts = db.site_experts.Where(p => p.expert_id == e.id); return(View(site_experts.ToList())); }
public ActionResult GetExpertsExcel() { Microsoft.Office.Interop.Excel.Application ObjWorkExcel = new Microsoft.Office.Interop.Excel.Application(); //открыть эксель Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjWorkExcel.Workbooks.Open(@"d:\1_experts.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //открыть файл Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1]; //получить 1 лист var lastCell = ObjWorkSheet.Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell); //1 ячейку int iLastRow = ObjWorkSheet.Cells[ObjWorkSheet.Rows.Count, "A"].End[Microsoft.Office.Interop.Excel.XlDirection.xlUp].Row; //последняя заполненная строка в столбце А var arrData = (object[, ])ObjWorkSheet.Range["A1:J" + iLastRow].Value; ObjWorkBook.Close(false, Type.Missing, Type.Missing); //закрыть не сохраняя ObjWorkExcel.Quit(); // выйти из экселя for (int i = 5; i <= iLastRow; ++i) { User u = new User(); u.id = db.User.Max(p => p.id) + 1; u.Surname = (arrData[i, 5] != null) ? arrData[i, 5].ToString() : " "; u.Name = (arrData[i, 6] != null) ? arrData[i, 6].ToString() : " "; u.Patronumic = (arrData[i, 7] != null) ? arrData[i, 7].ToString() : " "; u.email = (arrData[i, 9] != null) ? arrData[i, 9].ToString() : " "; u.phone = (arrData[i, 10] != null) ? arrData[i, 10].ToString() : " "; u.position = (arrData[i, 8] != null) ? arrData[i, 8].ToString() : " "; u.password = Models.User.HashPassword("password"); u.state_id = 1; u.role_id = 4; db.User.Add(u); db.SaveChanges(); string unp = (arrData[i, 4] != null) ? arrData[i, 4].ToString() : " "; experts e = new experts(); e.id = (db.experts.Count() > 0) ? (db.experts.Max(p => p.id) + 1) : 1; e.expert_id = u.id; e.education_institution_id = db.education__institution.First(p => p.UNP.Contains(unp)).id; db.experts.Add(e); db.SaveChanges(); } return(Redirect("/Users/Index")); }