Example #1
0
        public ActionResult Create(User user)
        {
            user.id = (db.User.Count() > 0) ? (db.User.Max(p => p.id) + 1) : 1;
            String pass_user = "";

            if (!Request.Form["surname"].Equals(""))
            {
                user.Surname = Request.Form["surname"];
            }
            if (!Request.Form["name"].Equals(""))
            {
                user.Name = Request.Form["name"];
            }
            if (!Request.Form["patronymic"].Equals(""))
            {
                user.Patronumic = Request.Form["patronymic"];
            }
            if (!Request.Form["email"].Equals(""))
            {
                user.email = Request.Form["email"];
            }
            if (!Request.Form["tel"].Equals(""))
            {
                user.phone = Request.Form["tel"];
            }
            if (!Request.Form["password"].Equals(""))
            {
                pass_user     = Request.Form["password"];
                user.password = Models.User.HashPassword(Request.Form["password"]);
            }
            if (!Request.Form["user-role"].Equals(""))
            {
                user.role_id = Convert.ToInt32(Request.Form["user-role"]);
            }
            user.state_id = 1;
            db.User.Add(user);
            db.SaveChanges();

            string smtpHost = "mail.unibel.by";
            string pass     = "******";
            string from     = "*****@*****.**";
            string to       = user.email;
            string subject  = "Регистрация в Системе АИС \"Мониторинг\"";

            string message = "<table style = 'max-width:600px; width:100%; margin:0; padding:0; font-family: Times New Roman; font-size: 16px;' border = '0' cellpadding = '1' cellspacing = '5'><tr><td style = 'text-align:center; font-size:18px'><b>Уважаемый " + user.Surname + " " + user.Name + " " + user.Patronumic + "!</b></td></tr>";

            message = message + "<tr><td style = 'text-align:justify'> С целью оценки качества функционирования официальных интернет-сайтов органов государственного управления, подведомственных им учреждений образования и организаций, подчиненных Министерству образования Республики Беларусь Вам предоставлен доступ к автоматизированной информационной системе аудита информационных ресурсов учреждений образования Республики Беларусь (АИС Мониторинг).</td></tr><tr><td><b> Для авторизации в АИС Мониторинг необходимо:</b></td></tr><tr><td>&nbsp;– перейти по адресу в глобальной сети Интернет: <a target = '_blank' href = 'http://ais-monitoring.unibel.by' > http://ais-monitoring.unibel.by</a>;</td></tr><tr><td>&nbsp;– нажать в правом верхнем углу открывшегося окна режим входа в систему (кнопка «Войти»);</td></tr> ";
            message = message + "<tr><td>&nbsp;– ввести следующие данные: логин <b>" + user.email.Trim() + "</b> пароль <b>" + pass_user + "</b> .</td></tr> <tr><td> После успешной процедуры регистрации и входа Вам доступна роль ";
            if (user.role_id == 2)
            {
                message += "Куратор.";
            }
            else if (user.role_id == 3)
            {
                message += "Контролер.";
            }
            else if (user.role_id == 4)
            {
                message += "Эксперт.";
            }
            message = message + "</td></tr><tr><td>В разделе «Профиль» Вы можете отредактировать данные или изменить пароль.</td></tr><tr><td>Перед работой в АИС Мониторинг ознакомьтесь с разделом «Справка», где представлено описание принципа работы.</td></tr> <tr><td>Вопросы, замечания и предложения по работе с АИС Мониторинг Вы можете присылать по адресу электронной почты: <a href = 'mailto:[email protected]'> [email protected] </a>.";
            if (user.role_id == 2)
            {
                message += "За дополнительной информацией обращайтесь в вышестоящие управления по образованию.";
            }
            message = message + "</td></tr><tr><td style = 'height:10px;'></td></tr> <tr><td> <span style='color:#f44336;'>*</span>";
            if (user.role_id == 2)
            {
                message += "Куратор – ответственное лицо от учреждений образования Республики Беларусь.";
            }
            else if (user.role_id == 3)
            {
                message += "Контролер – ответственное лицо от местных исполнительных и распорядительных органов в сфере образования, специалист вышестоящей организации, которому доступны результаты мониторинга сайтов подведомственных ей учреждений.";
            }
            else if (user.role_id == 4)
            {
                message += "Эксперт – ответственный сотрудник, отвечающий за проведение экспертиз интернет-сайтов, а также проверка и поддержание в актуальном состоянии перечня подведомственных учреждений образования.";
            }
            message = message + "</td></tr><tr><td style = 'height:20px;'></td> </tr> <tr><td>-- <br/>АИС Мониторинг</td> </tr></table>";

            MailMessage mail = new MailMessage();

            mail.IsBodyHtml = true;
            mail.From       = new MailAddress(from);
            mail.To.Add(new MailAddress(to));
            mail.Subject = subject;
            mail.Body    = message;
            SmtpClient client = new SmtpClient();

            client.Host           = smtpHost;
            client.Port           = 25;
            client.Credentials    = new NetworkCredential(from.Split('@')[0], pass);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            try
            {
                client.Send(mail);
                mail.Dispose();
            }
            catch (Exception e)
            {
                throw new Exception("Mail.Send: " + e.Message);
            }

            if (user.role_id == 2 || user.role_id == 3)
            {
                if (!Request.Form["name-edu"].Equals(""))
                {
                    string name_edu           = Request.Form["name-edu"];
                    curators_and_controlers c = new curators_and_controlers();
                    foreach (education__institution a in db.education__institution)
                    {
                        if (a.full_name.ToString().Equals(name_edu))
                        {
                            c.education_institution_id = a.id;
                            break;
                        }
                    }
                    c.id         = (db.curators_and_controlers.Count() > 0) ? (db.curators_and_controlers.Max(p => p.id) + 1) : 1;
                    c.curator_id = user.id;
                    db.curators_and_controlers.Add(c);
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult GetExcelUO()
        {
            Microsoft.Office.Interop.Excel.Application ObjWorkExcel = new Microsoft.Office.Interop.Excel.Application();                                                                                                                                                                                                             //открыть эксель
            Microsoft.Office.Interop.Excel.Workbook    ObjWorkBook  = ObjWorkExcel.Workbooks.Open(@"d:\novopolock_forma.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:Z" + iLastRow].Value;

            ObjWorkBook.Close(false, Type.Missing, Type.Missing); //закрыть не сохраняя
            ObjWorkExcel.Quit();                                  // выйти из экселя

            int id1 = (db.audit_object.Count() > 0) ? (db.audit_object.Max(p => p.id) + 1) : 1, id2 = (db.education__institution.Count() > 0) ? (db.education__institution.Max(p => p.id) + 1) : 1, id3 = (db.User.Count() > 0) ? (db.User.Max(p => p.id) + 1) : 1, id4 = (db.curators_and_controlers.Count() > 0) ? (db.curators_and_controlers.Max(p => p.id) + 1) : 1;

            for (int i = 5; i <= iLastRow; ++i)
            {
                string       site = (arrData[i, 20] != null) ? arrData[i, 20].ToString() : " ";
                audit_object a    = new audit_object();
                if (!site.Equals(" "))
                {
                    a.id          = id1++;
                    a.adress_site = site;
                    a.title_site  = (arrData[i, 3] != null) ? arrData[i, 3].ToString() : " ";
                    db.audit_object.Add(a);
                    db.SaveChanges();
                }
                education__institution e = new education__institution();
                e.id         = id2++;
                e.full_name  = (arrData[i, 2] != null) ? arrData[i, 2].ToString() : " ";
                e.short_name = (arrData[i, 3] != null) ? arrData[i, 3].ToString() : " ";
                if (!site.Equals(" "))
                {
                    e.audit_object_id = a.id;
                }
                if (arrData[i, 5] != null)
                {
                    e.district_id = Convert.ToInt32(arrData[i, 5]);
                }
                e.address = (arrData[i, 6] != null) ? arrData[i, 6].ToString() : " ";
                e.email   = (arrData[i, 7] != null) ? arrData[i, 7].ToString() : " ";
                e.phone   = (arrData[i, 8] != null) ? arrData[i, 8].ToString() : " ";
                if (arrData[i, 9] != null)
                {
                    e.type_edu_id = Convert.ToInt32(arrData[i, 9]);
                }
                if (arrData[i, 10] != null)
                {
                    e.kind_edu_id = Convert.ToInt32(arrData[i, 10]);
                }
                e.OKPO           = (arrData[i, 11] != null) ? arrData[i, 11].ToString() : " ";
                e.UNP            = (arrData[i, 12] != null) ? arrData[i, 12].ToString() : " ";
                e.director       = (arrData[i, 13] != null) ? arrData[i, 13].ToString() : " ";
                e.is_application = 0;
                if (arrData[i, 15] != null)
                {
                    e.type_education_institution_id = Convert.ToInt32(arrData[i, 15]);
                }
                if (arrData[i, 16] != null)
                {
                    e.ownership_type_id = Convert.ToInt32(arrData[i, 16]);
                }
                if (arrData[i, 17] != null)
                {
                    e.department_subordination_id = Convert.ToInt32(arrData[i, 17]);
                }
                e.state_id = 1;
                e.UNP_superior_management = (arrData[i, 19] != null) ? arrData[i, 19].ToString() : " ";
                db.education__institution.Add(e);
                db.SaveChanges();

                if (!site.Equals(" "))
                {
                    User u = new User();
                    u.id         = id3++;
                    u.Surname    = (arrData[i, 21] != null) ? arrData[i, 21].ToString() : " ";
                    u.Name       = (arrData[i, 22] != null) ? arrData[i, 22].ToString() : " ";
                    u.Patronumic = (arrData[i, 23] != null) ? arrData[i, 23].ToString() : " ";
                    u.email      = (arrData[i, 25] != null) ? arrData[i, 25].ToString() : " ";
                    u.phone      = (arrData[i, 26] != null) ? arrData[i, 26].ToString().Trim() : " ";
                    u.position   = (arrData[i, 24] != null) ? arrData[i, 24].ToString() : " ";
                    u.password   = Models.User.HashPassword("password");
                    u.state_id   = 1;
                    u.role_id    = (e.type_education_institution_id > 1) ? 3 : 2;
                    db.User.Add(u);
                    db.SaveChanges();

                    curators_and_controlers c = new curators_and_controlers();
                    c.id         = id4++;
                    c.curator_id = u.id;
                    c.education_institution_id = e.id;
                    db.curators_and_controlers.Add(c);
                    db.SaveChanges();
                }
            }

            return(Redirect("/Institution/Index"));
        }