public ActionResult Dashboard()
        {
            CenterTrasportationAnalysis transportanalysis = new CenterTrasportationAnalysis();

            try
            {
                transportanalysis = new TransportationData().GetTransportAnalysisData(new Guid(Session["AgencyId"].ToString()));
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(View(transportanalysis));
        }
        public ActionResult AcceptRejectTransportationRequest(string ClientId, string YakkrID, string Status)
        {
            bool isUpdated = false;

            try
            {
                isUpdated = new TransportationData().AcceptRejectTransportRequest(ClientId, YakkrID, Status, Session["AgencyID"].ToString(), Session["UserID"].ToString());
            }
            catch (Exception Ex)
            {
                clsError.WriteException(Ex);
            }
            return(Json(isUpdated));
        }
        public ActionResult DeleteAssignedRoute(string ClientId, string RouteId)
        {
            bool isDeleted = false;

            try
            {
                isDeleted = new TransportationData().DeleteAssignedRoute(ClientId, RouteId, Session["AgencyID"].ToString(), Session["UserID"].ToString());
            }
            catch (Exception Ex)
            {
                clsError.WriteException(Ex);
            }
            return(Json(isDeleted));
        }
        public JsonResult GetCreatedRoute()
        {
            List <AssignedRouteChildren> assignedChildList = new List <AssignedRouteChildren>();
            List <RouteDetails>          routeDetailsList  = new List <RouteDetails>();

            try
            {
                routeDetailsList = new TransportationData().GetCreatedRouteData(new Guid(Session["AgencyId"].ToString()));
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(Json(routeDetailsList, JsonRequestBehavior.AllowGet));
        }
        public ActionResult AssignRoute(int id = 0, string Center = "")
        {
            AssignRouteChildren childern = new AssignRouteChildren();

            childern.CenterId = 0;
            childern.CenterId = (Center == "" || Center == "0")?0:Convert.ToInt32(EncryptDecrypt.Decrypt64(Center));
            List <AssignedRouteAll> allList = new List <AssignedRouteAll>();

            try
            {
                Guid agencyId = new Guid(Session["AgencyId"].ToString());
                switch (id)
                {
                case 1:
                {
                    allList = new TransportationData().GetPickUpChildrenData(agencyId, childern.CenterId);
                    break;
                }

                case 2:
                {
                    allList = new TransportationData().GetDropUpChildrenData(agencyId, childern.CenterId);
                    break;
                }

                default:
                {
                    allList = new TransportationData().GetChildrenRouteAssigned(agencyId, childern.CenterId);
                    break;
                }
                }
                string PickupRoute = "", DropRoute = "";
                new TransportationData().GetRoutes(ref PickupRoute, ref DropRoute, agencyId.ToString(), childern.CenterId);
                //  allList = GetLatLongAll(allList);
                childern.AssignRouteList = allList;
                JavaScriptSerializer js = new JavaScriptSerializer();
                childern.TestString  = js.Serialize(childern.AssignRouteList);
                childern.PickUpRotes = PickupRoute;
                childern.DropRotes   = DropRoute;
                childern.SelectValue = id;
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(View(childern));
            //return View();
        }
        public JsonResult GetPickUpChildren()
        {
            List <AssignedRouteAll> pickUpList = new List <AssignedRouteAll>();

            try
            {
                Guid agencyId = new Guid(Session["AgencyId"].ToString());
                pickUpList = new TransportationData().GetPickUpChildrenData(agencyId, 0);
                pickUpList = GetLatLongAll(pickUpList);
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(Json(pickUpList, JsonRequestBehavior.AllowGet));
        }
        public JsonResult GetRiderChildren(string centerId)
        {
            List <RiderChildrens> riderChildrenData = new List <RiderChildrens>();

            try
            {
                long dec_centerId = Convert.ToInt64(EncryptDecrypt.Decrypt64(centerId));
                Guid agencyId     = new Guid(Session["AgencyId"].ToString());
                riderChildrenData = new TransportationData().GetRiderChildrensData(agencyId, dec_centerId);
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(Json(riderChildrenData, JsonRequestBehavior.AllowGet));
        }
        public JsonResult GetRouteAssignedByCenter(string centerID, int routeType)
        {
            List <AssignedStaff> staffList = new List <AssignedStaff>();

            try
            {
                long dec_CenterId = Convert.ToInt64(EncryptDecrypt.Decrypt64(centerID));
                Guid agencyId     = new Guid(Session["AgencyId"].ToString());
                Guid userId       = new Guid(Session["UserID"].ToString());
                staffList = new TransportationData().GetAssignedRouteInfo(dec_CenterId, agencyId, userId, routeType);
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(Json(staffList, JsonRequestBehavior.AllowGet));
        }
        public JsonResult GetCreatedRouteByCenter(string enc_CenterId)
        {
            List <AssignedRouteChildren> assignedChildList = new List <AssignedRouteChildren>();
            List <RouteDetails>          routeDetailsList  = new List <RouteDetails>();

            try
            {
                long centerId = Convert.ToInt64(EncryptDecrypt.Decrypt64(enc_CenterId));

                routeDetailsList = new TransportationData().GetCreatedRouteDataByCenter(new Guid(Session["AgencyId"].ToString()), centerId);
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(Json(routeDetailsList, JsonRequestBehavior.AllowGet));
        }
        public ActionResult UpdatePosition(List <string> listChild, string RouteId)
        {
            bool isUpdated = false;

            try
            {
                int i = 1;
                foreach (string childid in listChild)
                {
                    isUpdated = new TransportationData().UpdatePosition(childid, RouteId, Session["AgencyID"].ToString(), i);
                    i++;
                }
            }
            catch (Exception Ex)
            {
                clsError.WriteException(Ex);
            }
            return(Json(isUpdated));
        }
        public JsonResult AddRoute(string routeDetailsString)
        {
            bool         isResult     = false;
            RouteDetails routeDetails = new RouteDetails();

            try
            {
                JavaScriptSerializer js = new JavaScriptSerializer();
                routeDetails          = js.Deserialize <RouteDetails>(routeDetailsString);
                routeDetails.CenterId = Convert.ToInt64(EncryptDecrypt.Decrypt64(routeDetails.Enc_CenterId));
                Guid   agencyId = new Guid(Session["AgencyId"].ToString());
                string agency   = Session["AgencyId"].ToString();
                routeDetails.AgencyId = agencyId;
                routeDetails.UserId   = new Guid(Session["UserID"].ToString());
                isResult = new TransportationData().InsertRouteData(routeDetails);
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(Json(isResult, JsonRequestBehavior.AllowGet));
        }
        public ActionResult CreateRoute()
        {
            AssignRouteChildren     childern = new AssignRouteChildren();
            List <AssignedRouteAll> allList  = new List <AssignedRouteAll>();

            try
            {
                Guid agencyId = new Guid(Session["AgencyId"].ToString());
                allList = new TransportationData().GetChildrenRouteAssignedDetail(agencyId);
                List <CenterDetails> centerlist = new List <CenterDetails>();
                string address = string.Empty;
                childern.BusStaffDetails = new TransportationData().GetBusStaffData(out address, out centerlist, agencyId);
                childern.CenterAddress   = address;
                childern.CenterList      = centerlist;
                // allList = GetLatLongAll(allList);
                childern.AssignRouteList = allList;
                JavaScriptSerializer js = new JavaScriptSerializer();
                childern.TestString = js.Serialize(childern.AssignRouteList);
                List <AssignedRouteAll> pickupRouteNames = allList.Where(a => a.PickUpRouteName != null && a.PickUpRouteName != "Not Assigned").OrderBy(a => a.Latitude).OrderBy(a => a.Longitude).ToList();
                List <AssignedRouteAll> dropRouteNames   = allList.Where(a => a.DropRouteName != null && a.DropRouteName != "Not Assigned").OrderBy(a => a.Latitude).OrderBy(a => a.Longitude).ToList();

                string[] listPickUp   = pickupRouteNames.Where(a => a.PickUpRouteName != null && a.PickUpRouteName != "Not Assigned").Select(a => a.PickUpRouteName).ToArray();
                string[] listPickDrop = dropRouteNames.Where(a => a.DropRouteName != null && a.DropRouteName != "Not Assigned").Select(a => a.DropRouteName).ToArray();
                var      listPickUp1  = listPickUp.Union(listPickDrop).ToList();
                // var listDrop = allList.Select(a => new { RoputeName = a.DropRouteName }).ToList();


                TempData["pickupRouteNames"] = js.Serialize(pickupRouteNames);
                TempData["dropRouteNames"]   = js.Serialize(dropRouteNames);
                TempData["listPickUp1"]      = listPickUp1;
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }

            return(View(childern));
        }
        public JsonResult GetBusStaffByCenter(string enc_CenterId)
        {
            BusStaff staff = new BusStaff();
            List <AssignedRouteAll> allList    = new List <AssignedRouteAll>();
            List <string>           pickUpList = new List <string>();
            string pickUpRouteNames            = string.Empty;
            string dropRouteName = string.Empty;
            string TestString    = string.Empty;

            try
            {
                long centerId = (enc_CenterId == "0")?0:Convert.ToInt64(EncryptDecrypt.Decrypt64(enc_CenterId));
                Guid agencyId = new Guid(Session["AgencyId"].ToString());
                staff   = new TransportationData().GetBusStaffByCenter(agencyId, centerId);
                allList = new TransportationData().GetChildrenRouteAssignedDetailByCenter(agencyId, centerId);
                //   allList = GetLatLongAll(allList);
                JavaScriptSerializer js = new JavaScriptSerializer();
                TestString = js.Serialize(allList);
                List <AssignedRouteAll> pickupRouteNames = allList.Where(a => a.PickUpRouteName != null && a.PickUpRouteName != "Not Assigned").OrderBy(a => a.Latitude).OrderBy(a => a.Longitude).ToList();
                List <AssignedRouteAll> dropRouteNames   = allList.Where(a => a.DropRouteName != null && a.DropRouteName != "Not Assigned").OrderBy(a => a.Latitude).OrderBy(a => a.Longitude).ToList();

                string[] listPickUp   = pickupRouteNames.Where(a => a.PickUpRouteName != null && a.PickUpRouteName != "Not Assigned").Select(a => a.PickUpRouteName).ToArray();
                string[] listPickDrop = dropRouteNames.Where(a => a.DropRouteName != null && a.DropRouteName != "Not Assigned").Select(a => a.DropRouteName).ToArray();
                var      listPickUp1  = listPickUp.Union(listPickDrop).ToList();
                // var listDrop = allList.Select(a => new { RoputeName = a.DropRouteName }).ToList();


                pickUpRouteNames = js.Serialize(pickupRouteNames);
                dropRouteName    = js.Serialize(dropRouteNames);
                pickUpList       = listPickUp1;
            }
            catch (Exception ex)
            {
                clsError.WriteException(ex);
            }
            return(Json(new { staff, pickUpRouteNames, dropRouteName, pickUpList, TestString }, JsonRequestBehavior.AllowGet));
        }