//Get
        public ActionResult Client(int? clientID)
        {
            BindLookups();

            BLClientSite clientBL = new BLClientSite();
            tblClientSite editclient = new tblClientSite();
            editclient = clientBL.GetClientSite(clientID.Value);

            if (Request.IsAjaxRequest())
                return PartialView(editclient);
            else
                return View(editclient);
        }
        //Get
        public JsonResult deleteClient(int? clientid)
        {
            BLClientSite clientBL = new BLClientSite();
            StringBuilder DeletionStatus = null;
            if (clientid.HasValue  && clientid.Value > 0)
            {
                DeletionStatus = clientBL.Deleteclientinfo(clientid.Value);
            }
            if (DeletionStatus.Length == 0)
            {
                return Json(new { success = true, resultmsg = "Client deleted successfully" }, JsonRequestBehavior.AllowGet);

            };

            return Json(new { success = false, resultmsg = DeletionStatus.ToString() }, JsonRequestBehavior.AllowGet);
        }
        public ActionResult Client(tblClientSite clientSite)
        {
            try
            {
                BLClientSite clientBL = new BLClientSite();
                clientSite.CustomerID = SessionHelper.UserSession.CustomerID;
                clientBL.SaveClientSite(clientSite);
            }
            catch
            {
                ModelState.AddModelError("", "Please provide valid User Name/Password.");
                return Json(new { errors = KeyValue.GetErrorsFromModelState(ViewData) });
            }

            return Json(new { success = true });
        }
        //Get
        public ActionResult GetClients(jQueryDataTableParamModel param)
        {
            int totalRecords = 0;

            var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
            var sortDirection = Request["sSortDir_0"]; // asc or desc

            BLClientSite clientSiteBL = new BLClientSite();
            List<tblClientSite> lstCustomerClients = clientSiteBL.GetAllClientSite(SessionHelper.UserSession.CustomerID, param.iDisplayStart, param.iDisplayLength, sortColumnIndex, sortDirection, param.sSearch, ref totalRecords);

            var result = from c in lstCustomerClients
                         let ServiceTypeName = c.ServiceType.Name
                         let TimeZoneName = c.TimeZone.Name
                         let StatusName = c.Status.Name
                         select new[] { c.BusinessName, ServiceTypeName, TimeZoneName, StatusName, c.ClientID.ToString() };

            return Json(new
            {
                sEcho = param.sEcho,
                iTotalRecords = totalRecords,
                iTotalDisplayRecords = totalRecords,
                aaData = result
            }, JsonRequestBehavior.AllowGet);
        }
        //Get
        public JsonResult JsonClient(int? ClientID)
        {
            BLClientSite clientBL = new BLClientSite();
            tblClientSite editclient = new tblClientSite();
            editclient = clientBL.GetClientSite(ClientID.Value);

            return Json(new { success = true, ClientTimeZone = editclient.TimeZone == null ? "" : editclient.TimeZone.Name, ClientStatus = editclient.Status == null ? "" : editclient.Status.Name }, JsonRequestBehavior.AllowGet);
        }
        //Get
        public ActionResult Index()
        {
            BLClientSite clientSiteBL = new BLClientSite();
            List<tblClientSite> lstClientSite = new List<tblClientSite>();
            lstClientSite.Add(new tblClientSite() { ClientID = 0, BusinessName = " -- Select -- " });
            lstClientSite.AddRange(clientSiteBL.GetCustomerClient(SessionHelper.UserSession.CustomerID));

            ViewBag.CustomerClientSites = lstClientSite;

            tblClientSite clientSite = new tblClientSite();
            clientSite.TimeZone = new TimeZoneFX();
            clientSite.Status = new SetUpStaus();

            if (Request.IsAjaxRequest())
                return PartialView(clientSite);
            else
                return View(clientSite);
        }