Exemplo n.º 1
0
        public int InsertJournalContent(JournalContent content)
        {
            return(TryFunc <int>(() =>
            {
                int id = 0;
                using (EGESupportEntities context = new EGESupportEntities())
                {
                    ppe_exams ppe_exam = (from p in context.ppe_exams
                                          where (p.exam_date_id == content.exam_date_id) && (p.ppe_id == content.ppe_id)
                                          select p).FirstOrDefault();
                    int ppe_exam_id;
                    if (ppe_exam == null)
                    {
                        ppe_exams p = new ppe_exams()
                        {
                            exam_date_id = content.exam_date_id,
                            ppe_id = content.ppe_id
                        };
                        context.ppe_exams.Add(p);
                        context.SaveChanges();
                        ppe_exam_id = p.id;
                    }
                    else
                    {
                        ppe_exam_id = ppe_exam.id;
                        int double_rec = (from jour in context.journals
                                          where jour.ppe_exam_id == ppe_exam_id && jour.blank_type_id == content.blank_type_id && jour.auditorium == content.aud && jour.id != content.id
                                          select jour.id).Count();
                        if (double_rec > 0)
                        {
                            throw new FaultException <Fault>(new Fault()
                            {
                                Token = "error", Message = "В базу данных уже внесена запись с аналогичным ППЭ, ауд и типом бланка"
                            }, "soap error");
                        }
                    }

                    journals j = new journals();
                    j.ppe_exam_id = ppe_exam_id;
                    j.blank_type_id = content.blank_type_id;
                    j.auditorium = content.aud;
                    j.count_blanks = content.count_blanks;
                    j.count_add_blanks = content.blank_type_id == 3 ? content.count_add_blanks : 0;
                    context.journals.Add(j);
                    context.SaveChanges();
                    id = j.id;
                }
                return id;
            }));
        }
Exemplo n.º 2
0
 public void ChangeStatusPPEExam(int ppe_exam_id, int status_id)
 {
     TryFunc <bool>(() =>
     {
         bool res = false;
         using (EGESupportEntities context = new EGESupportEntities())
         {
             ppe_exams p = new ppe_exams()
             {
                 id = ppe_exam_id
             };
             context.ppe_exams.Attach(p);
             p.status_id = status_id;
             context.SaveChanges();
             res = true;
         }
         return(res);
     });
 }
Exemplo n.º 3
0
 public void SetIsUploadPPEExam(int ppe_exam_id)
 {
     TryFunc <bool>(() =>
     {
         bool res = false;
         using (EGESupportEntities context = new EGESupportEntities())
         {
             ppe_exams p = new ppe_exams()
             {
                 id = ppe_exam_id
             };
             context.ppe_exams.Attach(p);
             p.is_upload_data = true;
             context.SaveChanges();
             res = true;
         }
         return(res);
     });
 }
Exemplo n.º 4
0
        public PPEExamContent GetPPEExamContent(int exam_date_id, int ppe_id)
        {
            return(TryFunc <PPEExamContent>(() =>
            {
                PPEExamContent res = new PPEExamContent();
                res.exam_date_id = exam_date_id;
                res.ppe_id = ppe_id;

                using (EGESupportEntities context = new EGESupportEntities())
                {
                    var exam = (from e in context.exam_dates
                                join s in context.subjects on e.subject_id equals s.id
                                where e.id == exam_date_id
                                select e).SingleOrDefault();
                    res.exam_date = "Выгрузка за " + exam.exam_date.ToString("dd.MM.yyyy") + " ЕГЭ " + [email protected]() + " класс (" + exam.subjects.name + ")";
                    ppe cur_ppe = (from p in context.ppe
                                   join a in context.areas on p.area_id equals a.id
                                   where p.id == ppe_id
                                   select p).SingleOrDefault();
                    res.ppe_name = "Код ППЭ: " + cur_ppe.ppe_code + " - " + cur_ppe.name + " (" + cur_ppe.areas.name + ")";
                    res.ppe_code = cur_ppe.ppe_code;
                    ppe_exams ppe_exam = (from p in context.ppe_exams
                                          where p.exam_date_id == exam_date_id && p.ppe_id == ppe_id
                                          select p).SingleOrDefault();
                    if (ppe_exam == null)
                    {
                        ppe_exam = new ppe_exams()
                        {
                            exam_date_id = exam_date_id,
                            ppe_id = ppe_id,
                            status_id = 1,
                            is_upload_data = false
                        };
                        context.ppe_exams.Add(ppe_exam);
                    }
                    if (string.IsNullOrEmpty(ppe_exam.files_path))
                    {
                        ppe_exam.files_path = context.get_ppe_files_path(exam_date_id, ppe_id).SingleOrDefault();
                    }
                    context.SaveChanges();
                    res.is_uploaded = ppe_exam.is_upload_data;
                    res.ppe_exam_id = ppe_exam.id;
                    res.ppe_files_path = ppe_exam.files_path;
                    res.status_id = (int)ppe_exam.status_id;
                    res.status_name = context.ppe_exam_statuses.Where(x => x.id == res.status_id).Select(x => x.name).SingleOrDefault();
                    List <journals> blanks = (from j in context.journals
                                              where j.ppe_exam_id == ppe_exam.id
                                              select j).ToList();
                    List <PPEExamBlank> exam_blanks = new List <PPEExamBlank>();
                    foreach (int auditorium in blanks.Select(x => x.auditorium).Distinct())
                    {
                        int?count_r = blanks.Where(x => x.auditorium == auditorium && x.blank_type_id == 1).Select(x => x.count_blanks).SingleOrDefault();
                        int?count_1 = blanks.Where(x => x.auditorium == auditorium && x.blank_type_id == 2).Select(x => x.count_blanks).SingleOrDefault();
                        int?count_2 = blanks.Where(x => x.auditorium == auditorium && x.blank_type_id == 3).Select(x => x.count_blanks).SingleOrDefault();
                        int?count_add_2 = blanks.Where(x => x.auditorium == auditorium && x.blank_type_id == 3).Select(x => x.count_add_blanks).SingleOrDefault();
                        exam_blanks.Add(new PPEExamBlank()
                        {
                            ppe_exam_id = ppe_exam.id,
                            aud = auditorium,
                            count_r = count_r != null ? (int)count_r : 0,
                            count_1 = count_1 != null ? (int)count_1 : 0,
                            count_2 = count_2 != null ? (int)count_2 : 0,
                            count_add_2 = count_add_2 != null ? (int)count_add_2 : 0
                        });
                    }
                    res.ListPPEExamBlanks = exam_blanks;
                    res.messages = (from m in context.ppe_messages
                                    join u in context.au_users on m.user_id equals u.id
                                    join r in context.au_roles on u.role_id equals r.id
                                    where m.ppe_exam_id == ppe_exam.id
                                    select new PPEExamMessage()
                    {
                        id = m.id,
                        ppe_exam_id = m.ppe_exam_id,
                        fio = u.fio,
                        user_id = u.id,
                        user_role = r.description,
                        message = m.message,
                        mes_date = m.mes_date
                    }).ToList();
                    List <PPEExamFile> exam_files = (from e in context.exam_dates
                                                     join s in context.subjects on e.subject_id equals s.id
                                                     join sb in context.subject_blanks on s.id equals sb.subject_id
                                                     join bt in context.blank_types on sb.blank_type_id equals bt.id
                                                     where e.id == exam_date_id
                                                     select new PPEExamFile()
                    {
                        ppe_exam_id = ppe_exam.id,
                        blank_type_id = bt.id,
                        blank_type_name = bt.name,
                        blank_folder_name = bt.folder_name,
                        server_file_folder = ppe_exam.files_path + "/" + bt.folder_name
                    }).ToList();
                    foreach (PPEExamFile file in exam_files)
                    {
                        string work_dir = ppe_exam.files_path + "/" + file.blank_folder_name;
                        WorkWithFTP.FTPMakeDir(work_dir);
                        file.ftp_files = WorkWithFTP.GetListFilesFromDir(work_dir);
                    }
                    res.exam_files = exam_files;
                }
                return res;
            }));
        }