private void ShowActivityDialog(Dictionary <string, string> args)
    {
        ActivityParameters aparams = new ActivityParameters(args);
        string             url;

        if (aparams.RecurDate.HasValue)
        {
            // TODO: Refactor to remove QS dependancy
            url = string.Format("Activity.aspx?modeid=Insert&activityid={0}&recurdate={1}",
                                aparams["activityid"],
                                aparams.RecurDate);
        }
        else
        {
            url = string.IsNullOrEmpty(aparams.Id)
                ? "Activity.aspx?modeid=Insert"
                : string.Format("Activity.aspx?entityid={0}", aparams.Id);
        }
        aparams.Add("contenturl", url);
        AppContext["ActivityParameters"] = aparams;
        if (IsInDialogIFrame)
        {
            Page.Response.Redirect(url);
        }
        else
        {
            Dialog.SetSpecs(-1, -1, ActivityDlg_Height, ActivityDlg_Width, "ActivityDialogController");
            Dialog.ShowDialog();
        }
    }
Example #2
0
        /// <summary>
        /// Get Activities Destination Updated
        /// </summary>
        public void SearchDestinationUpdated()
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            ActivityParameters activityParameters = new ActivityParameters {
                ActivityType = "update-destinations"
            };

            // Run the query
            string errorString = "";

            Activity[] activities = route4Me.GetActivityFeed(activityParameters, out errorString);

            Console.WriteLine("");

            if (activities != null)
            {
                Console.WriteLine("SearchDestinationUpdated executed successfully, {0} activities returned", activities.Length);
                Console.WriteLine("");

                foreach (Activity Activity in activities)
                {
                    Console.WriteLine("Activity ID: {0}", Activity.ActivityId);
                }

                Console.WriteLine("");
            }
            else
            {
                Console.WriteLine("SearchDestinationUpdated error: {0}", errorString);
            }
        }
Example #3
0
        /// <summary>
        /// The example refers to the process of query all the activities from the last specified days.
        /// </summary>
        public void GetLastActivities()
        {
            var route4Me = new Route4MeManager(ActualApiKey);

            var activitiesAfterTime = DateTime.Now - (new TimeSpan(7, 0, 0, 0));

            activitiesAfterTime = new DateTime(activitiesAfterTime.Year, activitiesAfterTime.Month, activitiesAfterTime.Day, 0, 0, 0);

            uint uiActivitiesAfterTime = (uint)Route4MeSDK.R4MeUtils.ConvertToUnixTimestamp(activitiesAfterTime);

            var activityParameters = new ActivityParameters()
            {
                Limit  = 10,
                Offset = 0,
                Start  = uiActivitiesAfterTime
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            Console.WriteLine("");

            foreach (Activity activity in activities)
            {
                uint activityTime = activity.ActivityTimestamp != null ? (uint)activity.ActivityTimestamp : 0;

                if (activityTime < uiActivitiesAfterTime)
                {
                    Console.WriteLine("GetLastActivities failed - the last time filter not works.");
                    break;
                }
            }

            PrintExampleActivities(activities, errorString);
        }
        /// <summary>
        /// Get activities with the event Route Owner Changed
        /// </summary>
        public void SearchRouteOwnerChanged()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            RunOptimizationSingleDriverRoute10Stops();

            string routeId = SD10Stops_route_id;

            OptimizationsToRemove = new List <string>()
            {
                SD10Stops_optimization_problem_id
            };

            var activityParameters = new ActivityParameters
            {
                ActivityType = "route-owner-changed",
                RouteId      = routeId
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
Example #5
0
        /// <summary>
        /// Get Activities Note Inserted
        /// </summary>
        public void SearchNoteInserted()
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            ActivityParameters activityParameters = new ActivityParameters
            {
                ActivityType = "note-insert",
                RouteId      = "C3E7FD2F8775526674AE5FD83E25B88A"
            };

            // Run the query
            string errorString = "";

            Activity[] activities = route4Me.GetActivityFeed(activityParameters, out errorString);

            Console.WriteLine("");

            if (activities != null)
            {
                Console.WriteLine("SearchNoteInserted executed successfully, {0} activities returned", activities.Length);
                Console.WriteLine("");

                foreach (Activity Activity in activities)
                {
                    Console.WriteLine("Activity ID: {0}", Activity.ActivityId);
                }
                Console.WriteLine("");
            }
            else
            {
                Console.WriteLine("SearchNoteInserted error: {0}", errorString);
            }
        }
Example #6
0
        public void GetActivities(string routeId)
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            ActivityParameters activityParameters = new ActivityParameters()
            {
                RouteId = routeId,
                Limit   = 10,
                Offset  = 0
            };

            // Run the query
            string errorString;

            Activity[] activities = route4Me.GetActivityFeed(activityParameters, out errorString);

            Console.WriteLine("");

            if (activities != null)
            {
                Console.WriteLine("GetActivities executed successfully, {0} activities returned", activities.Length);
                Console.WriteLine("");

                activities.ForEach(activity =>
                {
                    Console.WriteLine("Activity ID: {0}", activity.ActivityId);
                });
                Console.WriteLine("");
            }
            else
            {
                Console.WriteLine("GetActivities error: {0}", errorString);
            }
        }
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        var activityParameters = AppContext["ActivityParameters"] as Dictionary <string, string>;

        Params = new ActivityParameters(activityParameters ?? new Dictionary <string, string>());
    }
        /// <summary>
        /// Get Activities Route Owner Changed
        /// </summary>
        public void SearchRouteOwnerChanged()
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            ActivityParameters activityParameters = new ActivityParameters
            {
                ActivityType = "route-owner-changed",
                RouteId      = "5C15E83A4BE005BCD1537955D28D51D7"
            };

            // Run the query
            string errorString = "";

            Activity[] activities = route4Me.GetActivityFeed(activityParameters, out errorString);

            Console.WriteLine("");

            if (activities != null)
            {
                Console.WriteLine("SearchRouteOwnerChanged executed successfully, {0} activities returned", activities.Length);
                Console.WriteLine("");

                foreach (Activity Activity in activities)
                {
                    Console.WriteLine("Activity ID: {0}", Activity.ActivityId);
                }
                Console.WriteLine("");
            }
            else
            {
                Console.WriteLine("SearchRouteOwnerChanged error: {0}", errorString);
            }
        }
Example #9
0
        /// <summary>
        /// Get Team Activities on a Route
        /// </summary>
        public void GetRouteTeamActivities()
        {
            var route4Me = new Route4MeManager(ActualApiKey);

            RunOptimizationSingleDriverRoute10Stops();

            string routeId = SD10Stops_route_id;

            OptimizationsToRemove = new List <string>()
            {
                SD10Stops_optimization_problem_id
            };

            var activityParameters = new ActivityParameters()
            {
                RouteId = routeId,
                Team    = "true",
                Limit   = 10,
                Offset  = 0
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);

            RemoveTestOptimizations();
        }
Example #10
0
        /// <summary>
        /// Get activities with the event Destination Inserted
        /// </summary>
        public void SearchDestinationInserted()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            RunOptimizationSingleDriverRoute10Stops();

            string routeId = SD10Stops_route_id;

            OptimizationsToRemove = new List <string>()
            {
                SD10Stops_optimization_problem_id
            };

            var newAddress = new Address()
            {
                AddressString = "118 Bill Johnson Rd NE Milledgeville GA 31061",
                Latitude      = 33.141784667969,
                Longitude     = -83.237518310547,
                Time          = 0,
                SequenceNo    = 4
            };

            int[] insertedDestinations = route4Me.AddRouteDestinations(
                routeId,
                new Address[] { newAddress },
                out string errorString).Select(address => address.RouteDestinationId.GetValueOrDefault()).ToArray();

            if (insertedDestinations == null || insertedDestinations.Length < 1)
            {
                Console.WriteLine(
                    "Cannot insert the test destination." +
                    Environment.NewLine +
                    errorString);

                RemoveTestOptimizations();
                return;
            }

            var activityParameters = new ActivityParameters
            {
                ActivityType = "insert-destination",
                RouteId      = routeId
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out errorString);

            PrintExampleActivities(activities, errorString);

            RemoveTestOptimizations();
        }
        /// <summary>
        /// Get activities with the event Note Inserted
        /// </summary>
        public void SearchNoteInserted()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            RunOptimizationSingleDriverRoute10Stops();

            string routeId = SD10Stops_route_id;

            OptimizationsToRemove = new List <string>()
            {
                SD10Stops_optimization_problem_id
            };

            int addressId = (int)SD10Stops_route.Addresses[2].RouteDestinationId;

            var noteParams = new NoteParameters()
            {
                AddressId       = addressId,
                RouteId         = routeId,
                Latitude        = SD10Stops_route.Addresses[2].Latitude,
                Longitude       = SD10Stops_route.Addresses[2].Longitude,
                DeviceType      = "web",
                StrNoteContents = "Note example for Destination",
                ActivityType    = "dropoff"
            };

            var addrssNote = route4Me.AddAddressNote(noteParams, out string errorString0);

            if (addrssNote == null || addrssNote.GetType() != typeof(AddressNote))
            {
                Console.WriteLine(
                    "Cannot add a note to the address." +
                    Environment.NewLine +
                    errorString0);

                RemoveTestOptimizations();
                return;
            }

            var activityParameters = new ActivityParameters
            {
                ActivityType = "note-insert",
                RouteId      = routeId
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
        /// <summary>
        /// Get activities with the event Search Member Modified
        /// </summary>
        public void SearchMemberModified()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            var activityParameters = new ActivityParameters {
                ActivityType = "member-modified"
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
        /// <summary>
        /// Get activities with the event Search Area Added
        /// </summary>
        public void SearchNoteInsertedAll()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            var activityParameters = new ActivityParameters {
                ActivityType = "note-insert"
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
        /// <summary>
        /// Get activities with the event Geofence Left
        /// </summary>
        public void SearchGeofenceLeft()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            var activityParameters = new ActivityParameters {
                ActivityType = "geofence-left"
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
Example #15
0
        private bool IsCaptureEnabled(ActivityParameters p)
        {
            IModel model = Models.GetAgents();

            SoftwareAgent agent    = null;
            Uri           agentUri = new Uri(p.agent);

            if (model.ContainsResource(agentUri))
            {
                agent = model.GetResource <SoftwareAgent>(agentUri);
            }

            return(agent.IsCaptureEnabled);
        }
        /// <summary>
        /// Get activities with the event Destination Updated
        /// </summary>
        public void SearchDestinationUpdated()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            var activityParameters = new ActivityParameters {
                ActivityType = "update-destinations"
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
        /// <summary>
        /// Get activities with the event Driver Arrived Early
        /// </summary>
        public void SearchDriverArrivedEarly()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            var activityParameters = new ActivityParameters
            {
                ActivityType = "driver-arrived-early"
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
        /// <summary>
        /// Get activities from a user account.
        /// </summary>
        public void GetActivities()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            var activityParameters = new ActivityParameters()
            {
                Limit  = 10,
                Offset = 0
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
Example #19
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public ActivityParameter GetParameterValue()
        {
            ActivityParameter result = null;

            if ((ActivityParameters != null) && (ActivityParameters.Count > 0))
            {
                long idfsParameter    = 0;
                long idfsFormTemplate = 0;

                var parameter = GetParameterTemplate();
                if (parameter != null)
                {
                    idfsParameter    = parameter.idfsParameter;
                    idfsFormTemplate = parameter.idfsFormTemplate;
                }
                else
                {
                    var deletedParameter = GetParametersDeletedFromTemplate();
                    if ((deletedParameter != null) && (deletedParameter.idfsFormTemplate.HasValue))
                    {
                        idfsParameter    = deletedParameter.idfsParameter;
                        idfsFormTemplate = deletedParameter.idfsFormTemplate.Value;
                    }
                }

                if ((idfsParameter > 0) && (idfsFormTemplate > 0))
                {
                    result =
                        idfRow > 0 ?
                        ActivityParameters.FirstOrDefault(
                            m =>
                            ((m.idfsParameter == idfsParameter) &&
                             (m.idfsFormTemplate == idfsFormTemplate)) &&
                            (m.idfRow == idfRow)) :
                        ActivityParameters.FirstOrDefault(
                            m =>
                            ((m.idfsParameter == idfsParameter) &&
                             (m.idfsFormTemplate == idfsFormTemplate)));
                }
            }

            return(result);
        }
        /// <summary>
        /// Get activities with the event Destination Deleted
        /// </summary>
        public void SearchDestinationDeleted()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            RunOptimizationSingleDriverRoute10Stops();

            string routeId = SD10Stops_route_id;

            OptimizationsToRemove = new List <string>()
            {
                SD10Stops_optimization_problem_id
            };

            int addressId = (int)SD10Stops_route.Addresses[2].RouteDestinationId;

            bool removed = route4Me.RemoveRouteDestination(routeId, addressId, out string errorString);

            if (!removed)
            {
                Console.WriteLine(
                    "Cannot remove the test destination." +
                    Environment.NewLine +
                    errorString);
                return;
            }

            var activityParameters = new ActivityParameters
            {
                ActivityType = "delete-destination",
                RouteId      = routeId
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out errorString);

            PrintExampleActivities(activities, errorString);

            RemoveTestOptimizations();
        }
        /// <summary>
        /// Get activities by member.
        /// </summary>
        public void GetActivitiesByMember()
        {
            if (ActualApiKey == DemoApiKey)
            {
                return;
            }

            var route4Me = new Route4MeManager(ActualApiKey);

            var parameters = new GenericParameters();

            var response = route4Me.GetUsers(parameters, out string userErrorString);

            if (response == null || response.results.GetType() != typeof(MemberResponseV4[]))
            {
                Console.WriteLine("GetActivitiesByMemberTest failed - cannot get users");
                return;
            }

            if (response.results.Length < 2)
            {
                Console.WriteLine("Cannot retrieve more than 1 users");
                return;
            }

            var activityParameters = new ActivityParameters()
            {
                MemberId = response.results[1].member_id != null?Convert.ToInt32(response.results[1].member_id) : -1,
                               Offset = 0,
                               Limit  = 10
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out string errorString);

            PrintExampleActivities(activities, errorString);
        }
        /// <summary>
        /// Get Team Activities on a Route
        /// </summary>
        public void GetRouteTeamActivities()
        {
            // Create the manager with the api key
            Route4MeManager route4Me = new Route4MeManager(c_ApiKey);

            string routeId = "06B655F27E0D6A74BD37F6F9758E4D2E";

            ActivityParameters activityParameters = new ActivityParameters
            {
                RouteId = routeId,
                Team    = "true"
            };

            // Run the query
            string errorString = "";

            Activity[] activities = route4Me.GetActivityFeed(activityParameters, out errorString);

            Console.WriteLine("");

            if (activities != null)
            {
                Console.WriteLine("GetRouteTeamActivities executed successfully, {0} activities returned", activities.Length);
                Console.WriteLine("");

                foreach (Activity Activity in activities)
                {
                    Console.WriteLine("Activity ID: {0}", Activity.ActivityId);
                }

                Console.WriteLine("");
            }
            else
            {
                Console.WriteLine("GetRouteTeamActivities error: {0}", errorString);
            }
        }
Example #23
0
        private HttpStatusCode PostActivity(ActivityParameters p)
        {
            try
            {
                UpdateMonitoring();

                if (string.IsNullOrEmpty(p.tab))
                {
                    return(Logger.LogRequest(HttpStatusCode.NotModified, Request.Url, "POST", p.tab));
                }

                if (string.IsNullOrEmpty(p.agent))
                {
                    return(Logger.LogError(HttpStatusCode.BadRequest, "Invalid value for parameters {0}", p));
                }

                if (!IsCaptureEnabled(p))
                {
                    return(Logger.LogRequest(HttpStatusCode.Locked, Request.Url, "POST", ""));
                }

                IModel model = Models.GetWebActivities();

                Browse activity;

                if (!_activities.ContainsKey(p.tab))
                {
                    Association association = model.CreateResource <Association>();
                    association.Agent = new SoftwareAgent(new UriRef(p.agent));
                    association.Commit();

                    activity = model.CreateResource <Browse>();
                    activity.Associations.Add(association);
                    activity.StartTime = p.startTime != null ? (DateTime)p.startTime : DateTime.Now;
                    activity.Commit();

                    _activities[p.tab] = activity;
                }
                else
                {
                    activity = _activities[p.tab];
                }

                if (!string.IsNullOrEmpty(p.url) && Uri.IsWellFormedUriString(p.url, UriKind.Absolute))
                {
                    UriRef url = new UriRef(p.url);

                    WebDataObject website;

                    if (!model.ContainsResource(url))
                    {
                        website       = model.CreateResource <WebDataObject>(url);
                        website.Title = p.title;
                        website.Commit();
                    }
                    else
                    {
                        website = model.GetResource <WebDataObject>(url);
                    }

                    DateTime time = p.time != null ? (DateTime)p.time : DateTime.Now;

                    View view = model.CreateResource <View>();
                    view.Entity = website;
                    view.Time   = time;
                    view.Commit();

                    activity.Usages.Add(view);
                    activity.Commit();
                }
                else if (p.endTime != null)
                {
                    activity.EndTime = (DateTime)p.endTime;
                    activity.Commit();

                    _activities.Remove(p.tab);
                }

                return(Logger.LogRequest(HttpStatusCode.OK, Request.Url, "POST", ""));
            }
            catch (Exception e)
            {
                return(Logger.LogError(HttpStatusCode.InternalServerError, Request.Url, e));
            }
        }
        /// <summary>
        /// Get activities with the event Destination Marked as Departed
        /// </summary>
        public void SearchDestinationMarkedAsDeparted()
        {
            // Create the manager with the api key
            var route4Me = new Route4MeManager(ActualApiKey);

            RunOptimizationSingleDriverRoute10Stops();

            string routeId = SD10Stops_route_id;

            OptimizationsToRemove = new List <string>()
            {
                SD10Stops_optimization_problem_id
            };

            int addressId = (int)SD10Stops_route.Addresses[2].RouteDestinationId;

            var addressVisitedParams = new AddressParameters()
            {
                RouteId   = routeId,
                AddressId = addressId,
                IsVisited = true
            };

            int visitedStatus = route4Me.MarkAddressVisited(addressVisitedParams, out string errorString);

            if (visitedStatus != 1)
            {
                Console.WriteLine(
                    "Cannot mark the test destination as visited." +
                    Environment.NewLine +
                    errorString);

                RemoveTestOptimizations();
                return;
            }

            var addressDepartParams = new AddressParameters()
            {
                RouteId    = routeId,
                AddressId  = addressId,
                IsDeparted = true
            };

            int departedStatus = route4Me.MarkAddressDeparted(addressDepartParams, out errorString);

            if (departedStatus != 1)
            {
                Console.WriteLine(
                    "Cannot mark the test destination as departed." +
                    Environment.NewLine +
                    errorString);

                RemoveTestOptimizations();
                return;
            }

            var activityParameters = new ActivityParameters
            {
                ActivityType = "mark-destination-departed",
                RouteId      = routeId
            };

            // Run the query
            Activity[] activities = route4Me.GetActivities(activityParameters, out errorString);

            PrintExampleActivities(activities, errorString);

            RemoveTestOptimizations();
        }
 protected override void OnInit(EventArgs e)
 {
     base.OnInit(e);
     var activityParameters = AppContext["ActivityParameters"] as Dictionary<string, string>;
     Params = new ActivityParameters(activityParameters ?? new Dictionary<string, string>());
 }