// Метод записи в БД
        public int AddResumeSaveBD(ResumeModel resume, int idTipZan)
        {
            using (var ugtu_db = new UGTU_DBDataContext())
            {
                Models.ugtuRealTest.File F = null;
                if (resume.upload != null)
                {
                    F = new Models.ugtuRealTest.File();
                    F.ExtensionFile = Path.GetExtension(resume.upload.FileName);
                    byte[] byteFile = null;
                    // считываем переданный файл в массив байтов
                    using (var binaryReader = new BinaryReader(resume.upload.InputStream))
                    {
                        byteFile = binaryReader.ReadBytes(resume.upload.ContentLength);
                    }
                    F.bFile = byteFile;

                    ugtu_db.File.InsertOnSubmit(F);
                    ugtu_db.SubmitChanges();
                }

                Resume res = new Resume()
                {
                    DataPrinytiya = resume.DataPrinytiya,
                    idStatus = 1,//StatusResumeOpen,
                    idStud = resume.idStud,
                    DopInfo = resume.DopInfo,
                    Otmetki=resume.Otmetki
                };
                if (F != null) { res.idFile = F.idFile; } else {
                    var fileres = ugtu_db.Resume.Where(m => m.idStud == resume.idStud && m.idFile != null).Select(m => m.idFile).FirstOrDefault();
                    res.idFile = fileres;
                }
                ugtu_db.Resume.InsertOnSubmit(res);
                if (F != null)
                {
                    foreach (var r in ugtu_db.Resume.Where(r => r.idStud == resume.idStud))
                    {
                        if (ugtu_db.File.Where(m => m.idFile == r.idFile).Count() > 0)
                        {
                            ugtu_db.File.DeleteOnSubmit(ugtu_db.File.Where(m => m.idFile == r.idFile).First());
                        }
                        r.idFile = F.idFile;
                    }
                }
                var person = ugtu_db.Person.Where(m => m.nCode == resume.idStud).First();
                person.cEmail = resume.mail;
                person.cSotTel = resume.Tel;
                ugtu_db.SubmitChanges();
                Param_Resume PR = new Param_Resume()
                {
                    idResumeZnachParam = idTipZan,
                    idParam = ConstRep.idParamTipZan,
                    idResume = res.idResume
                };
                ugtu_db.Param_Resume.InsertOnSubmit(PR);
                ugtu_db.SubmitChanges();
                return res.idResume;
            }
        }
 public ActionResult AddResumeSave(ResumeModel rm, string Path, int idTipZan)
 {
     try
     {
         int idRes = AddResumeSaveBD(rm, idTipZan);
         return RedirectToAction(Path + "ResumeInfo", Path, new { id = idRes });
     }
     catch (Exception e)
     {
         ViewBag.Message = e.Message;
         return View("Error");
     }
 }
        //закрыттие регистрации при нахождении работы в ЦЗС с добавление трудоустрройства с привязкой вакансии и закрытием резюме и вакансии, нужен tru catch!!!
        public int SaveVipusknikCloseRegisration_WithCZS_AddTrud(ResumeModel M)
        {
            using (var ugtu_db = new UGTU_DBDataContext())
            {
                Param_Resume PR = new Param_Resume()
                {
                    idParam = ConstRep.IDPARAM_ReasonEndRegistration,
                    idResume = M.idResume,
                    idResumeZnachParam = M.idReasonEndRegistration
                };
                ugtu_db.Param_Resume.InsertOnSubmit(PR);
                ugtu_db.SubmitChanges();

                var resume = ugtu_db.Resume.Where(n => n.idResume == M.idResume);
                foreach (var r in resume)
                {
                    r.idStatus = ConstRep.StatusResumeClose;
                    r.UstroenCZS = true;
                    r.DataZakritiya = M.DataZakritiya;
                    r.idVakans = M.idVakans;
                }
                ugtu_db.SubmitChanges();

                if (M.idVakans != 0)
                {
                    Trudoustr Tr = new Trudoustr()
                    {
                        IDStudent = ugtu_db.Resume.Where(m => m.idResume == M.idResume).Select(m => m.idStud).SingleOrDefault(),
                        IDDolznost = ugtu_db.Vakans.Where(m => m.idVakans == M.idVakans).Select(m => m.idDolznost).SingleOrDefault(),
                        IDPredpriyatie = ugtu_db.Vakans.Where(m => m.idVakans == M.idVakans).Select(m => m.idPredpr).SingleOrDefault(),
                        IDResume = M.idResume,
                        Otdel = ugtu_db.Vakans.Where(m => m.idVakans == M.idVakans).Select(m => m.OtdelName).SingleOrDefault(),
                        DataObzvon = M.DataZakritiya,
                        DataBegin = M.DataZakritiya,
                        RabotaPoSpec = false,
                        IDVakans = M.idVakans
                    };
                    ugtu_db.Trudoustr.InsertOnSubmit(Tr);
                    ugtu_db.SubmitChanges();

                    var vakans = ugtu_db.Vakans.Where(n => n.idVakans == M.idVakans);
                    foreach (var r in vakans)
                    {
                        r.idStatus = ConstRep.StatusVakansClose;
                        r.DataObzvon = M.DataZakritiya;
                    }
                    ugtu_db.SubmitChanges();
                }

                return 1;
            }
        }
        //закрыттие регистрации при отказе от услуг цзс, нужен tru catch!!!
        public int SaveVipusknikCloseRegisration_OtkazOtCZS(ResumeModel M)
        {
            using (var ugtu_db = new UGTU_DBDataContext())
            {
                Param_Resume PR = new Param_Resume()
                {
                    idParam = ConstRep.IDPARAM_ReasonEndRegistration,
                    idResume = M.idResume,
                    idResumeZnachParam = M.idReasonEndRegistration
                };
                ugtu_db.Param_Resume.InsertOnSubmit(PR);
                ugtu_db.SubmitChanges();

                var resume = ugtu_db.Resume.Where(n => n.idResume == M.idResume);
                foreach (var r in resume)
                {
                    r.idStatus = ConstRep.StatusResumeClose;
                    r.UstroenCZS = false;
                    r.DataZakritiya = M.DataZakritiya;
                }
                ugtu_db.SubmitChanges();
                return 1;
            }
        }
        // Метод генерации частичного представления
        public ActionResult InfoResume(int idRes, string Path)
        {
            using (var ugtu_db = new UGTU_DBDataContext())
            {
                ViewBag.Path = Path;
                ViewBag.CloseResume = false;
                var idStatus = (ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.idStatus).First();
                if ((ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.idStatus == 3).First()) { ViewBag.CloseResume = true; }//StatusResumeClose
                ViewBag.id = (int)(ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.idResume).First();
                var idStud = (int)(ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.idStud).First();
                ViewBag.idStud = idStud;
                if (ViewBag.CloseResume == true)
                {
                    if (ugtu_db.Trudoustr.Where(m => m.IDResume == idRes).Select(m => m.IDTrudoustr).Count() > 0)
                    {
                        ViewBag.idTrud = ugtu_db.Trudoustr.Where(m => m.IDResume == idRes).Select(m => m.IDTrudoustr).First();
                        ViewBag.idVak = ugtu_db.Trudoustr.Where(m => m.IDResume == idRes).Select(m => m.IDVakans).First();
                    }
                }
                ResumeModel RM = new ResumeModel()
                {
                    TipZanName = ugtu_db.ZnachParam.Where(m1 => m1.idZnachParam == ugtu_db.Param_Resume.Where(m => m.idParam == ConstRep.idParamTipZan && m.idResume == idRes).Select(m => m.idResumeZnachParam).First()).Select(m1 => m1.ZnachParamName).First(),
                    DopInfo = (ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.DopInfo).First(),
                    idResume = (int)(ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.idResume).First(),
                    idStud = (int)(ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.idStud).First(),
                    DataPrinytiya = DateTime.Parse((ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.DataPrinytiya).First().ToShortDateString()),
                    StatusName = ugtu_db.Status.Where(n => n.idStatus == idStatus).Select(n => n.StatusName).First(),
                    Tel = ugtu_db.Person.Where(m => m.nCode == idStud).Select(m => m.cSotTel).FirstOrDefault(),
                    mail = ugtu_db.Person.Where(m => m.nCode == idStud).Select(m => m.cEmail).FirstOrDefault(),
                    Otmetki = (ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.Otmetki).First()
                };
                if (ugtu_db.Resume.Where(resume => resume.idResume == idRes).First().idFile != null) ViewBag.IsFile = true;
                else ViewBag.IsFile = false;

                return PartialView("PartialInfoResume", RM);
            }
        }
        // Метод генерации частичного представления
        public ActionResult EditResume(int idRes, string Path)
        {
            using (var ugtu_db1 = new UGTU_DBDataContext())
            {
                SelectList SelectListTipZan = new SelectList(ugtu_db1.ZnachParam.Where(param => param.idParam == ConstRep.idParamTipZan).OrderBy(n => n.ZnachParamName).ToList(), "idZnachParam", "ZnachParamName",
                   ugtu_db1.Param_Resume.Where(m => m.idParam == ConstRep.idParamTipZan && m.idResume == idRes).Select(m => m.idResumeZnachParam).Single());
                ViewBag.idTipZan = SelectListTipZan;

                ViewBag.Method = "Edit";
                var c = (ugtu_db1.Resume.Where(resume => resume.idResume == idRes)).Single();
                var idStud = c.idStud;
                ViewBag.idStud = idStud;
                ViewBag.id = c.idResume;
                ViewBag.Path = Path;
                //ViewBag.DopInfo = (ugtu_db.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.DopInfo).First();

                //ViewBag.EditRes = true;
               // ViewBag.IsFile = (c.idFile != null) ? true : false;
                if(c.idFile!=null){
                ViewBag.idResumeFile=c.idResume;
                }else {
                    ViewBag.idResumeFile = 0;
                }

                ResumeModel RM = new ResumeModel();
                RM.SelectListTipZan = SelectListTipZan;
                RM.DopInfo = (ugtu_db1.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.DopInfo).First();
                RM.idResume = (int)(ugtu_db1.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.idResume).First();
                RM.idStud = (int)(ugtu_db1.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.idStud).First();
                RM.DataPrinytiya = (ugtu_db1.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.DataPrinytiya).First();
                RM.Tel = ugtu_db1.Person.Where(m => m.nCode == idStud).Select(m => m.cSotTel).FirstOrDefault();
                RM.mail = ugtu_db1.Person.Where(m => m.nCode == idStud).Select(m => m.cEmail).FirstOrDefault();
                RM.Otmetki = (ugtu_db1.Resume.Where(resume => resume.idResume == idRes)).Select(resume => resume.Otmetki).First();
                return PartialView("PartialAddResume", RM);
            }
        }