public ActionResult ClosePeriod()
 {
     using (PortalKATEKEntities db = new PortalKATEKEntities())
     {
         db.Configuration.ProxyCreationEnabled = false;
         db.Configuration.LazyLoadingEnabled   = false;
         Debit_PeriodReportOprih debit_PeriodReportOprih = db.Debit_PeriodReportOprih.Find(db.Debit_PeriodReportOprih.Max(d => d.id));
         bool valid = ValidationClosePeriod(debit_PeriodReportOprih.id);
         if (valid == true)
         {
             debit_PeriodReportOprih.close           = true;
             debit_PeriodReportOprih.dateTimeClose   = DateTime.Now;
             db.Entry(debit_PeriodReportOprih).State = EntityState.Modified;
             db.SaveChanges();
             var listDate = db.Debit_DataReportOprih.Where(d => d.id_Debit_PeriodReportOprih == debit_PeriodReportOprih.id).ToList();
             foreach (var data in listDate)
             {
                 Debit_WorkBit debit_WorkBit = db.Debit_WorkBit.First(d => d.id == data.id_DebitWork);
                 debit_WorkBit.close           = data.oprihClose;
                 debit_WorkBit.dateClose       = data.dateOprihPlanFact;
                 db.Entry(debit_WorkBit).State = EntityState.Modified;
                 db.SaveChanges();
                 if (debit_WorkBit.close == true)
                 {
                     CreateNewTasks(28, debit_WorkBit.id_PlanZakaz);
                 }
                 ClosePredoplataTask(debit_WorkBit.id_PlanZakaz);
             }
             EmailDeb mail = new EmailDeb(debit_PeriodReportOprih.period);
             mail.SendEmail();
         }
         return(RedirectToAction("Index", "ActiveReport", new { area = "Deb" }));
     }
 }
 public JsonResult NoOprih()
 {
     using (PortalKATEKEntities db = new PortalKATEKEntities())
     {
         db.Configuration.ProxyCreationEnabled = false;
         db.Configuration.LazyLoadingEnabled   = false;
         Debit_PeriodReportOprih debit_PeriodReportOprih = db.Debit_PeriodReportOprih.Find(db.Debit_PeriodReportOprih.Max(d => d.id));
         var query = db.Debit_DataReportOprih
                     .AsNoTracking()
                     .Where(d => d.id_Debit_PeriodReportOprih == debit_PeriodReportOprih.id)
                     .Where(d => d.oprihClose == false)
                     .Include(d => d.Debit_WorkBit.PZ_PlanZakaz.PZ_Client)
                     .Include(d => d.Debit_WorkBit.PZ_PlanZakaz.AspNetUsers)
                     .ToList();
         string login       = HttpContext.User.Identity.Name;
         int    devision    = db.AspNetUsers.First(d => d.Email == login).Devision.Value;
         string linkPartOne = "";
         string linkPartTwo = "";
         if (devision == 5 || login == "*****@*****.**" && debit_PeriodReportOprih.close != true)
         {
             linkPartOne = firstPartLinkEditOP;
             linkPartTwo = lastPartEdit;
         }
         var data = query.Select(dataList => new
         {
             id = linkPartOne + dataList.id + linkPartTwo,
             dataList.Debit_WorkBit.PZ_PlanZakaz.PlanZakaz,
             dataList.Debit_WorkBit.PZ_PlanZakaz.Name,
             Manager        = dataList.Debit_WorkBit.PZ_PlanZakaz.AspNetUsers.CiliricalName,
             Client         = dataList.Debit_WorkBit.PZ_PlanZakaz.PZ_Client.NameSort,
             dataOtgruzkiBP = JsonConvert.SerializeObject(dataList.Debit_WorkBit.PZ_PlanZakaz.dataOtgruzkiBP, settings).Replace(@"""", ""),
             DateSupply     = JsonConvert.SerializeObject(dataList.Debit_WorkBit.PZ_PlanZakaz.DateSupply, settings).Replace(@"""", ""),
             dataList.id_Debit_PostingOffType,
             dataList.id_Debit_PostingOnType,
             dataList.numberSF,
             dataList.reclamation,
             openReclamation  = JsonConvert.SerializeObject(dataList.reclamationOpen, settings).Replace(@"""", ""),
             closeReclamation = JsonConvert.SerializeObject(dataList.reclamationClose, settings).Replace(@"""", ""),
             dataList.description,
             dataList.oprihClose,
             dateOprihPlanFact = JsonConvert.SerializeObject(dataList.dateOprihPlanFact, settings).Replace(@"""", "")
         });
         return(Json(new { data }));
     }
 }
        public ActionResult Index()
        {
            PortalKATEKEntities db = new PortalKATEKEntities();

            db.Configuration.ProxyCreationEnabled = false;
            db.Configuration.LazyLoadingEnabled   = false;
            Debit_PeriodReportOprih debit_PeriodReportOprih = db.Debit_PeriodReportOprih.Find(db.Debit_PeriodReportOprih.Max(d => d.id));
            int    closePeriod = 1;
            string login       = HttpContext.User.Identity.Name;

            if (login == "*****@*****.**" || login == "*****@*****.**" || login == "*****@*****.**")
            {
                closePeriod = 0;
                if (debit_PeriodReportOprih.close == true)
                {
                    closePeriod = 1;
                }
            }
            ViewBag.ClosePeriod             = closePeriod;
            ViewBag.id_Debit_PostingOffType = new SelectList(db.Debit_PostingOffType.Where(d => d.active == true).OrderBy(x => x.name), "id", "name");
            ViewBag.id_Debit_PostingOnType  = new SelectList(db.Debit_PostingOnType.Where(d => d.active == true).OrderBy(x => x.name), "id", "name");
            return(View());
        }