コード例 #1
0
        public ActionResult CreateSob(Obrabotka obrabotka)
        {
            if ((bool)Session["Manip_Tests"] == true && Session["Manip_Tests"] != null)
            {
                //Данные заявки
                var ids = db.ZayavkaNaSobes.Where(z => z.nomerzay == obrabotka.nomerzay).FirstOrDefault();
                int?id;
                if (ids == null)
                {
                    var sot = db.Sotrs.Where(z => z.ID_Sotr == obrabotka.Sotr_ID).FirstOrDefault();
                    id = sot.ID_Sotr;
                }
                else
                {
                    id = ids.Sotr_ID;
                }

                //Если валидация пройдена успешно
                if (ModelState.IsValid)
                {
                    //Добавление данных
                    db.Obrabotka.Add(new Obrabotka
                    {
                        Data_Sob   = obrabotka.Data_Sob,
                        Vremya_Sob = obrabotka.Vremya_Sob,
                        Kommnt     = obrabotka.Kommnt,
                        reshenie   = obrabotka.reshenie,
                        Sotr_ID    = (int)id,
                        nomerzay   = obrabotka.nomerzay
                    });
                    //Сохранение
                    db.SaveChanges();
                    EmailTo.MySendMail("" +
                                       "Приветствуем, " + ids.Sotrs.Full + "! " +
                                       "Для Вас назначено собеседование.<br><br>" +
                                       "Номер заявки: " + ids.nomerzay + "<br>" +
                                       "Дата собеседования: " + obrabotka.Data_Sob + ";<br>" +
                                       "Время собеседования: " + obrabotka.Vremya_Sob + ".<br><br>" +
                                       "Большая просьба, не опаздывать!!!",
                                       ids.Sotrs.Email, "Компания CMS", "Собеседование");
                    if (Session["perehod"] == null)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        return(Redirect(Session["perehod"].ToString()));
                    }
                }
                //Список сотрудников
                ViewBag.Sotr_ID = new SelectList(db.Sotrs, "ID_Sotr", "Full", obrabotka.Sotr_ID);
                return(View(obrabotka));
            }
            else
            {
                return(Redirect("/Error/NotRight"));
            }
        }
コード例 #2
0
        public ActionResult Create(ZayavkaNaSobes zayavkaNaSobes, int[] idqu, string[] Doc)
        {
            //Получение данных аккаунта
            var ids = db.Sotrs.Where(s => s.Login_Acc == User.Identity.Name).FirstOrDefault();

            if (idqu != null && idqu.Length > 0)
            {
                //Цикл по всем вопросам
                for (int i = 0; i < idqu.Length; i++)
                {
                    //Добавление данных
                    db.ZayavkaNaSobes.Add(new ZayavkaNaSobes
                    {
                        Sotr_ID     = ids.ID_Sotr,
                        Qwe_ID      = idqu[i],
                        otvet       = Doc[i],
                        datazayavki = Session["dataz"].ToString(),
                        nomerzay    = Session["NumZ"].ToString(),
                        itog        = false
                    });
                    //Сохранение
                    db.SaveChanges();
                    ViewBag.Suсc    = true;
                    ViewBag.SucсMes = "Ваша заявка успешно отправлена, ожидайте решение компании";
                }
                EmailTo.MySendMail("" +
                                   "Приветствуем, " + ids.Full + "! " +
                                   "Спасибо за оформленную заявку для прохождения собеседования в ООО \"Си эМ эС\"! Ожидайте, в ближайшее время мы примем решение.<br><br>" +
                                   "Номер заявки: " + Session["NumZ"].ToString() + "* <br><br>" +
                                   "* - С помощью данного номера, Вы можете просматривать результат поданной заявки!!!",
                                   ids.Email, "Компания CMS", "Собеседование");
                //Вывод отчета по заявке
                return(Redirect("/Home/ZayObr/" + Session["NumZ"].ToString()));
            }
            return(RedirectToAction("Zayavki", "Home"));
        }
コード例 #3
0
        public ActionResult Register(RegisterModel model)
        {
            //Если значение поля для загрузки фото не пустое
            if (model.ImageUpload != null)
            {
                //Получение имени файла
                string filename = Path.GetFileNameWithoutExtension(model.ImageUpload.FileName);
                //Расширение файла
                string extension = Path.GetExtension(model.ImageUpload.FileName);
                //Новое уникальное наименование, которое будет занесено в БД
                filename = filename + DateTime.Now.ToString("yymmssfff") + extension;
                //Значение для поля Фото, которое будет добавлено в БД с путем к файлу
                model.Photo = "/Content/Photo/st/" + filename;
                //Загрузка фото в папку
                model.ImageUpload.SaveAs(Path.Combine(Server.MapPath("~/Content/Photo/st/"), filename));
            }
            else
            {
                //Иначе дефолтное значение
                model.Photo = "/Content/Photo/st/default.png";
            }
            Accounts user = null;

            //Поиск пльзователей с таким логином
            user = db.Accounts.FirstOrDefault(u => u.Login == model.Login);
            //Если не найдено, то добавляем нового
            if (user == null)
            {
                //Если валидация пройдена успешно
                if (ModelState.IsValid)
                {
                    //Создаем команду
                    SqlCommand command = new SqlCommand("", Program.SqlConnection);
                    //Запрос для команды (проверка на возраст)
                    command.CommandText = "select Datediff(year, '" + model.Day_Of_Birth + "', getdate())";
                    int?voz = 0;
                    Program.SqlConnection.Open();
                    // Выполнение команды
                    voz = (int)command.ExecuteScalar();
                    Program.SqlConnection.Close();
                    //В соответствии со ст. 63 ТК РФ, Официально можно работать в России с 16 лет
                    //Проверка, есть ли пользователю 16 лет и более
                    if (voz <= 16)
                    {
                        ModelState.AddModelError("Day_Of_Birth", "Возрастные ограничения 18+");
                        return(View(model));
                    }
                    Session["War"] = false;
                    //Добавление нового аккаунта
                    db.Accounts.Add(new Accounts {
                        Login = model.Login, Password = model.Password, Password_Shifr = Shifrovanie.Hash(model.Password), Role_ID = 4, Logical_Delete = false, Block = false
                    });
                    //Сохранение данных
                    db.SaveChanges();
                    //Добавление сотрудника
                    db.Sotrs.Add(new Sotrs
                    {
                        Surname_Sot      = model.Surname_Sot,
                        Name_Sot         = model.Name_Sot,
                        Petronumic_Sot   = model.Petronumic_Sot,
                        Day_Of_Birth     = model.Day_Of_Birth,
                        Address          = Shifrovanie.Encryption(model.Address),
                        Num_Phone        = model.Num_Phone,
                        Email            = model.Email,
                        Photo            = model.Photo,
                        Date_of_adoption = null,
                        fired            = false,
                        Guest            = true,
                        Logical_Delete   = false,
                        Login_Acc        = model.Login
                    });
                    //Сохранение данных
                    db.SaveChanges();
                    //Отправка письма на почту
                    EmailTo.MySendMail("" +

                                       "Приветствуем, " + model.Surname_Sot + " " + model.Name_Sot + " " + model.Petronumic_Sot + "! <br>Мы рады, " +
                                       "что вы зарегистрировались в нашей системе. Мы надеемся, что не разочаруем Вас. С радостью ответим на Ваши вопросы." +
                                       "<br><br>Ваш Логин: " + model.Login + " <br>Пароль: " + model.Password,
                                       model.Email, "Компания CMS", "Регистрация на сайте компании CMS");
                    //Поиск пользователя
                    user = db.Accounts.Where(u => u.Login == model.Login && u.Password == model.Password).FirstOrDefault();
                    //Если пользователь найден
                    if (user != null)
                    {
                        //Авторизовываем пользователя
                        FormsAuthentication.SetAuthCookie(model.Login, true);
                        //Получение данных о пользователе
                        var s = db.Sotrs.Where(sot => sot.Login_Acc == model.Login);
                        Session["FIO"]          = model.Surname_Sot + " " + model.Name_Sot + " " + model.Petronumic_Sot;
                        Session["Email"]        = model.Email;
                        Session["Num_Phone"]    = model.Num_Phone;
                        Session["Address"]      = model.Address;
                        Session["Day_Of_Birth"] = model.Day_Of_Birth;
                        Session["Photo"]        = model.Photo;
                        Session["Dolj"]         = "Статус: Гость";
                        //Открытие личного кабинета
                        EmployeesHub.BroadcastData();
                        return(RedirectToAction("Index", "Home"));
                    }
                    //Иначе выводим надпись, данные введены некоррекно
                    else
                    {
                        ModelState.AddModelError("", "Попробуйте зарегистрироваться снова");
                        Session["War"] = true;
                        return(View(model));
                    }
                }
            }
            else
            {
                //Сообщение, что пользователь с таким логином уже существует
                ModelState.AddModelError("", "Пользователь с данным логином уже существует");
                Session["War"] = true;
                return(View(model));
            }

            return(View(model));
        }
コード例 #4
0
        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"));
            }
        }