public ActionResult OrderInspectionRequestWizard(int id)//DocumentTypeId
        {
            PrepareViewBag(id);
            JobOrderInspectionRequestHeaderViewModel vm = new JobOrderInspectionRequestHeaderViewModel();

            vm.DivisionId = (int)System.Web.HttpContext.Current.Session["DivisionId"];
            vm.SiteId     = (int)System.Web.HttpContext.Current.Session["SiteId"];
            vm.DocTypeId  = id;

            //Getting Settings
            var settings = new JobOrderInspectionRequestSettingsService(db).GetJobOrderInspectionRequestSettingsForDocument(id, vm.DivisionId, vm.SiteId);

            if (settings == null && UserRoles.Contains("SysAdmin"))
            {
                return(RedirectToAction("CreateJobOrderInspectionRequest", "JobOrderInspectionRequestSettings", new { id = id }).Warning("Please create Purchase order cancel settings"));
            }
            else if (settings == null && !UserRoles.Contains("SysAdmin"))
            {
                return(View("~/Views/Shared/InValidSettings.cshtml"));
            }
            vm.JobOrderInspectionRequestSettings = Mapper.Map <JobOrderInspectionRequestSettingsViewModel>(settings);
            ViewBag.ProcId = settings.ProcessId;
            vm.ProcessId   = settings.ProcessId;

            int?JobWorkerId = new JobWorkerDbService(db).GetJobWorkerForUser(User.Identity.Name);

            if (JobWorkerId.HasValue && JobWorkerId.Value > 0)
            {
                vm.JobWorkerId = JobWorkerId.Value;
            }

            return(View(vm));
        }
        public JsonResult AjaxGetJsonData(int DocType, DateTime?FromDate, DateTime?ToDate, string JobOrderHeaderId, string JobWorkerId
                                          , string ProductId, string Dimension1Id, string Dimension2Id, string ProductGroupId, string ProductCategoryId, decimal?BalanceQty, decimal Qty
                                          , string Sample)
        {
            string search        = Request.Form["search[value]"];
            int    sortColumn    = -1;
            string sortDirection = "asc";
            string SortColName   = "";


            // note: we only sort one column at a time
            if (Request.Form["order[0][column]"] != null)
            {
                sortColumn  = int.Parse(Request.Form["order[0][column]"]);
                SortColName = Request.Form["columns[" + sortColumn + "][data]"];
            }
            if (Request.Form["order[0][dir]"] != null)
            {
                sortDirection = Request.Form["order[0][dir]"];
            }

            bool Success = true;

            int?JId = new JobWorkerDbService(db).GetJobWorkerForUser(User.Identity.Name);

            if (JId.HasValue && JId.Value > 0)
            {
                var data = FilterData(DocType, null, null, null, JId.ToString(),
                                      null, null, null, null, null, null, 0, null);

                var CList = data.ToList().Select(m => new JobOrderInspectionRequestWizardViewModel
                {
                    SOrderDate       = m.OrderDate.ToString("dd/MMM/yyyy"),
                    JobOrderLineId   = m.JobOrderLineId,
                    OrderNo          = m.OrderNo,
                    JobWorkerName    = m.JobWorkerName,
                    ProductName      = m.ProductName,
                    JobWorkerId      = m.JobWorkerId,
                    Dimension1Name   = m.Dimension1Name,
                    Dimension2Name   = m.Dimension2Name,
                    BalanceQty       = m.BalanceQty,
                    Qty              = m.Qty,
                    ProductUidName   = m.ProductUidName,
                    ProductGroupName = m.ProductGroupName
                }).ToList();

                return(Json(new { Data = CList, Success = Success }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                var data = FilterData(DocType, FromDate, ToDate, JobOrderHeaderId, JobWorkerId,
                                      ProductId, Dimension1Id, Dimension2Id, ProductGroupId, ProductCategoryId, BalanceQty, Qty, Sample);

                var RecCount = data.Count();

                if (RecCount > 1000 || RecCount == 0)
                {
                    Success = false;
                    return(Json(new { Success = Success, Message = (RecCount > 1000 ? "No of records exceeding 1000." : "No Records found.") }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    var CList = data.ToList().Select(m => new JobOrderInspectionRequestWizardViewModel
                    {
                        SOrderDate       = m.OrderDate.ToString("dd/MMM/yyyy"),
                        JobOrderLineId   = m.JobOrderLineId,
                        OrderNo          = m.OrderNo,
                        JobWorkerName    = m.JobWorkerName,
                        ProductName      = m.ProductName,
                        JobWorkerId      = m.JobWorkerId,
                        Dimension1Name   = m.Dimension1Name,
                        Dimension2Name   = m.Dimension2Name,
                        BalanceQty       = m.BalanceQty,
                        Qty              = m.Qty,
                        ProductUidName   = m.ProductUidName,
                        ProductGroupName = m.ProductGroupName
                    }).ToList();

                    return(Json(new { Data = CList, Success = Success }, JsonRequestBehavior.AllowGet));
                }
            }
        }