// GET: Prakashanreports/Create
        public ActionResult Create()
        {
            //ViewBag.GroupId = new SelectList(db.prakashanGroups, "Id", "GroupName");
            ViewBag.NewspaperName = new SelectList(db.Service, "Id", "NewsPaperName");
            var prakasangroup = db.prakashanGroups.ToList();
            List <PurchaseReportVM> purchasevm = new List <PurchaseReportVM>();

            if (!db.prakashanreports.Any())
            {
                foreach (var item in db.prakashanGroups)
                {
                    PurchaseReportVM objRep = new PurchaseReportVM();
                    objRep.GroupName = item.GroupName;
                    objRep.Id        = item.Id;
                    objRep.GroupId   = item.Id.ToString();
                    purchasevm.Add(objRep);
                }
            }
            else
            {
                DateTime max = db.prakashanreports.Max(m => m.Date).Date;
                List <Prakashanreport> prakashanreport = db.prakashanreports.Include(m => m.PrakashanGroup).Where(m => m.Date == max).ToList();
                //List<PurchaseReportVM> purchasevm = new List<PurchaseReportVM>();

                var report = db.prakashanreports.Where(m => m.Date == max);


                IEnumerable <Prakashanreport> routes = db.prakashanreports;
                foreach (var item1 in prakasangroup)
                {
                    var filtered = prakashanreport.Where(m => m.GroupId == item1.Id);
                    if (filtered.Any())
                    {
                        foreach (var item in filtered)
                        {
                            PurchaseReportVM objRep = new PurchaseReportVM();
                            objRep.GroupName  = db.prakashanGroups.Find(item.GroupId).GroupName;
                            objRep.Date       = item.Date;
                            objRep.GroupId    = item.GroupId.ToString();
                            objRep.NepaliDate = item.NepaliDate;
                            objRep.gp_Total   = item.gp_Total;
                            objRep.rn_Total   = item.rn_Total;
                            objRep.Remarks    = item.Remarks;
                            objRep.Edit_ID    = item.Id;
                            purchasevm.Add(objRep);
                        }
                    }
                    else
                    {
                        PurchaseReportVM objRep = new PurchaseReportVM();
                        objRep.GroupName = item1.GroupName;
                        objRep.Id        = item1.Id;
                        objRep.GroupId   = item1.Id.ToString();
                        purchasevm.Add(objRep);
                    }
                }
            }
            //purchasevm.Group =db.prakashanGroups.ToList();
            return(View(purchasevm));
        }
        public ActionResult Create(List <PurchaseReportVM> prakashanreport, FormCollection col)
        {
            DateTime date    = Convert.ToDateTime(col["EnglishDate"]);
            string   Nepdate = col["NepaliDate"].ToString();
            var      report  = db.prakashanreports.FirstOrDefault(m => m.Date == date);

            if (report == null)
            {
                PurchaseReportVM purchasevm = new PurchaseReportVM();
                foreach (var item in prakashanreport)
                {
                    Prakashanreport objreport = new Prakashanreport();
                    objreport.NepaliDate     = Nepdate;
                    objreport.Date           = date;
                    objreport.GroupId        = Convert.ToInt32(item.GroupId);
                    objreport.PrakashanGroup = db.prakashanGroups.Find(objreport.GroupId);
                    objreport.gp_Total       = item.gp_Total;
                    objreport.rn_Total       = item.rn_Total;
                    objreport.Remarks        = item.Remarks;
                    db.prakashanreports.Add(objreport);
                    db.SaveChanges();
                }
                TempData["message"] = "Production record inserted sucessfully";
                log.AddActivity("Production report Successfully Inserted");
                return(RedirectToAction("Index"));
            }
            else
            {
                TempData["message"] = " Production Record for this date is already stored please edit this record here";
                return(RedirectToAction("EditByDate"));
            }
        }
        // GET: Prakashanreports/Create
        public ActionResult Create()
        {
            //ViewBag.GroupId = new SelectList(db.prakashanGroups, "Id", "GroupName");
            ViewBag.NewspaperName = new SelectList(db.Service, "Id", "NewsPaperName");
            List <PurchaseReportVM> purchasevm = new List <PurchaseReportVM>();

            foreach (var item in db.prakashanGroups)
            {
                PurchaseReportVM objRep = new PurchaseReportVM();
                objRep.GroupName = item.GroupName;
                objRep.Id        = item.Id;
                purchasevm.Add(objRep);
            }
            //purchasevm.Group =db.prakashanGroups.ToList();
            return(View(purchasevm));
        }
        public ActionResult Edit(List <PurchaseReportVM> prakashanreport)
        {
            if (ModelState.IsValid)
            {
                PurchaseReportVM purchasevm = new PurchaseReportVM();
                foreach (var item in prakashanreport)
                {
                    Prakashanreport objreport = db.prakashanreports.Find(item.Edit_ID);


                    objreport.gp_Total = item.gp_Total;
                    objreport.rn_Total = item.rn_Total;
                    objreport.Remarks  = item.Remarks;

                    db.SaveChanges();
                }
                TempData["message"] = "Production Report is Sucessfully Edited";
                return(RedirectToAction("Index"));
            }
            return(View(prakashanreport));
        }
        // GET: Prakashanreports/Edit/5
        public ActionResult Edit(string engdate)
        {
            if (engdate == "")
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DateTime engdatea = Convert.ToDateTime(engdate);
            List <Prakashanreport>  prakashanreport = db.prakashanreports.Where(m => m.Date == engdatea).ToList();
            List <PurchaseReportVM> purchasevm      = new List <PurchaseReportVM>();
            var report = db.prakashanreports.FirstOrDefault(m => m.Date == engdatea);

            if (report == null)
            {
                TempData["message"] = "No prakashan for record for this date is created";
                return(RedirectToAction("EditByDate"));
            }
            else
            {
                foreach (var item in prakashanreport)
                {
                    PurchaseReportVM objRep = new PurchaseReportVM();
                    objRep.GroupName  = db.prakashanGroups.Find(item.GroupId).GroupName;
                    objRep.Date       = item.Date;
                    objRep.NepaliDate = item.NepaliDate;
                    objRep.gp_Total   = item.gp_Total;
                    objRep.rn_Total   = item.rn_Total;
                    objRep.Remarks    = item.Remarks;
                    objRep.Edit_ID    = item.Id;
                    purchasevm.Add(objRep);
                }
            }

            if (prakashanreport == null)
            {
                return(HttpNotFound());
            }
            return(View(purchasevm));
        }