public async Task <ActionResult> Edit(int?id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { if (id == null) { //400 ошибка return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //поиск по ключу Isp_Sroki isp_Sroki = await db.Isp_Sroki.FindAsync(id); if (isp_Sroki == null) { //404 ошибка return(HttpNotFound()); } //Список штатного состава ViewBag.Pos_Res_ID = new SelectList(db.Posit_Responsibilities, "ID_Pos_Res", "ID_Pos_Res", isp_Sroki.Pos_Res_ID); //список статусов ViewBag.Status_ID = new SelectList(db.status_isp_sroka, "ID_St", "Name_St", isp_Sroki.Status_ID); return(View(isp_Sroki)); } else { return(Redirect("/Error/NotRight")); } }
public async Task <ActionResult> DeleteConfirmed(int id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { Isp_Sroki isp_Sroki = await db.Isp_Sroki.FindAsync(id); //удаление данных db.Isp_Sroki.Remove(isp_Sroki); //Сохранение await db.SaveChangesAsync(); return(RedirectToAction("Index")); } else { return(Redirect("/Error/NotRight")); } }
public async Task <ActionResult> Delete(int?id) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { if (id == null) { //400 ошибка return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //поиск по ключу Isp_Sroki isp_Sroki = await db.Isp_Sroki.FindAsync(id); if (isp_Sroki == null) { //404 ошибка return(HttpNotFound()); } return(View(isp_Sroki)); } else { return(Redirect("/Error/NotRight")); } }
public async Task <ActionResult> Create([Bind(Include = "ID_Isp,Pos_Res_ID,Date_Start,Date_Finish,Status_ID,itog")] Isp_Sroki isp_Sroki) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { //Если валидация прошла успешно if (ModelState.IsValid) { //Добавление испытательного срока db.Isp_Sroki.Add(isp_Sroki); //Сохранение await db.SaveChangesAsync(); SqlCommand command = new SqlCommand("", Program.SqlConnection); //Ведутся ли этапы принятия command.CommandText = "select count(*) from Steps join Sotrs on Steps.Sotr_ID = ID_Sotr join Posit_Responsibilities on Posit_Responsibilities.Sotr_ID = ID_Sotr where ID_Pos_Res = " + isp_Sroki.Pos_Res_ID; Program.SqlConnection.Open(); //выполнение запроса int?step_count = (int)command.ExecuteScalar(); //Получение ключа сотрудника command.CommandText = "select ID_Sotr from Sotrs join Posit_Responsibilities on Posit_Responsibilities.Sotr_ID = ID_Sotr where ID_Pos_Res = " + isp_Sroki.Pos_Res_ID; //выполнение команды int?idst = (int)command.ExecuteScalar(); Program.SqlConnection.Close(); if (isp_Sroki.Status_ID != 1) { if (step_count != null && step_count != 0) { //Изменение этапов принятия command.CommandText = "update [dbo].[Steps] set [Isp_Srok] = 'false' where Sotr_ID = " + idst; Program.SqlConnection.Open(); //Выполнение запроса command.ExecuteNonQuery(); Program.SqlConnection.Close(); } else { //Добавление этапов принятия command.CommandText = "Insert into dbo.Steps ([Sotr_ID],[Sobesedovanie],[Dolznost],[Grafik_Raboti],[Sbor_Documentov],[Isp_Srok],[Logical_Delete]) " + "values (" + idst + ", 0,0,0,0,0,0)"; Program.SqlConnection.Open(); //выполнения запроса command.ExecuteNonQuery(); Program.SqlConnection.Close(); } } else { if (step_count != null && step_count != 0) { //Изменение этапа принятия как пройденный испытательный срок command.CommandText = "update [dbo].[Steps] set [Isp_Srok] = 'true' where Sotr_ID = " + idst; Program.SqlConnection.Open(); //выполенение запроса command.ExecuteNonQuery(); Program.SqlConnection.Close(); } else { //Добавление испытательных сроков command.CommandText = "Insert into dbo.Steps ([Sotr_ID],[Sobesedovanie],[Dolznost],[Grafik_Raboti],[Sbor_Documentov],[Isp_Srok],[Logical_Delete]) " + "values (" + idst + ", 0,0,0,0,1,0)"; Program.SqlConnection.Open(); //выполнение запроса command.ExecuteNonQuery(); Program.SqlConnection.Close(); } } return(Redirect(Session["perehod"].ToString())); } else { //Строка подключения string constr = ConfigurationManager.ConnectionStrings["PersonalContext"].ToString(); SqlConnection _con = new SqlConnection(constr); //Добавление запроса SqlDataAdapter _da = new SqlDataAdapter("SELECT ID_Pos_Res, dbo.Sotrs.Surname_Sot + ' ' + dbo.Sotrs.Name_Sot + ' ' + dbo.Sotrs.Petronumic_Sot + ' (' + Naim_Posit + ')' as 'FIO' FROM dbo.Posit_Responsibilities JOIN dbo.Sotrs ON dbo.Posit_Responsibilities.Sotr_ID = dbo.Sotrs.ID_Sotr JOIN dbo.Positions ON dbo.Posit_Responsibilities.Positions_ID = dbo.Positions.ID_Positions where fired = 'false'", constr); DataTable _dt = new DataTable(); _da.Fill(_dt); //Список штатного состава ViewBag.Pos_Res_ID = ToSelectList(_dt, "ID_Pos_Res", "FIO", isp_Sroki.Pos_Res_ID); //Список статусов ViewBag.Status_ID = new SelectList(db.status_isp_sroka, "ID_St", "Name_St", isp_Sroki.Status_ID); return(View(isp_Sroki)); } } else { return(Redirect("/Error/NotRight")); } }
public async Task <ActionResult> Edit([Bind(Include = "ID_Isp,Pos_Res_ID,Date_Start,Date_Finish,Status_ID,itog")] Isp_Sroki isp_Sroki) { if ((bool)Session["Manip_Sotrs"] == true && Session["Manip_Sotrs"] != null) { //если валидация прошла успешно if (ModelState.IsValid) { //Изменение данных и их фиксирование db.Entry(isp_Sroki).State = EntityState.Modified; SqlCommand command = new SqlCommand("", Program.SqlConnection); //Манипулирование этапами принятия command.CommandText = "select count(*) from Steps join Sotrs on Steps.Sotr_ID = ID_Sotr join Posit_Responsibilities on Posit_Responsibilities.Sotr_ID = ID_Sotr where ID_Pos_Res = " + isp_Sroki.Pos_Res_ID; Program.SqlConnection.Open(); //Изменение тех что в процессе на ожидании int?step_count = (int)command.ExecuteScalar(); command.CommandText = "select ID_Sotr from Sotrs join Posit_Responsibilities on Posit_Responsibilities.Sotr_ID = ID_Sotr where ID_Pos_Res = " + isp_Sroki.Pos_Res_ID; int?idst = (int)command.ExecuteScalar(); Program.SqlConnection.Close(); if (isp_Sroki.Status_ID != 1) { if (step_count != null && step_count != 0) { command.CommandText = "update [dbo].[Steps] set [Isp_Srok] = 'false' where Sotr_ID = " + idst; Program.SqlConnection.Open(); //Изменение тех что в процессе на ожидании command.ExecuteNonQuery(); Program.SqlConnection.Close(); } else { command.CommandText = "Insert into dbo.Steps ([Sotr_ID],[Sobesedovanie],[Dolznost],[Grafik_Raboti],[Sbor_Documentov],[Isp_Srok],[Logical_Delete]) " + "values (" + idst + ", 0,0,0,0,0,0)"; Program.SqlConnection.Open(); //Изменение тех что в процессе на ожидании command.ExecuteNonQuery(); Program.SqlConnection.Close(); } var sta = db.status_isp_sroka.Where(s => s.ID_St == isp_Sroki.Status_ID).FirstOrDefault(); var pos = db.Posit_Responsibilities.Where(s => s.ID_Pos_Res == isp_Sroki.Pos_Res_ID).FirstOrDefault(); EmailTo.MySendMail("" + "Приветствуем, " + pos.Sotrs.Full + "! <br>Вы, " + "проходите испытательный срок в нашей компании ООО \"Си эМ эС\", на должность " + pos.Positions.Naim_Posit + "." + "<br />Ваш статус прохождения изменен на " + sta.Name_St, pos.Sotrs.Email, "Компания CMS", "Прохождение испытательного срока"); } else { if (step_count != null && step_count != 0) { command.CommandText = "update [dbo].[Steps] set [Isp_Srok] = 'true' where Sotr_ID = " + idst; Program.SqlConnection.Open(); //Изменение тех что в процессе на ожидании command.ExecuteNonQuery(); Program.SqlConnection.Close(); } else { command.CommandText = "Insert into dbo.Steps ([Sotr_ID],[Sobesedovanie],[Dolznost],[Grafik_Raboti],[Sbor_Documentov],[Isp_Srok],[Logical_Delete]) " + "values (" + idst + ", 0,0,0,0,1,0)"; Program.SqlConnection.Open(); //Изменение тех что в процессе на ожидании command.ExecuteNonQuery(); Program.SqlConnection.Close(); } var pos = db.Posit_Responsibilities.Where(s => s.ID_Pos_Res == isp_Sroki.Pos_Res_ID).FirstOrDefault(); EmailTo.MySendMail("" + "Приветствуем, " + pos.Sotrs.Full + "! <br>Поздравляем, " + "Вы прошли испытательный срок в нашей компании ООО \"Си эМ эС\", на должность " + pos.Positions.Naim_Posit + ".", pos.Sotrs.Email, "Компания CMS", "Прохождение испытательного срока"); } //сохранение изменений await db.SaveChangesAsync(); return(Redirect(Session["perehod"].ToString())); } //Список штатного состава ViewBag.Pos_Res_ID = new SelectList(db.Posit_Responsibilities, "ID_Pos_Res", "ID_Pos_Res", isp_Sroki.Pos_Res_ID); //Список статусов ViewBag.Status_ID = new SelectList(db.status_isp_sroka, "ID_St", "Name_St", isp_Sroki.Status_ID); return(View(isp_Sroki)); } else { return(Redirect("/Error/NotRight")); } }