Пример #1
0
 /// <summary>
 /// Allows you to initialize all necessary data members and triggers sending process.
 /// </summary>
 /// <param name="surveyId">Survey identification number.</param>
 /// <param name="resultInfo">Instance of <see cref="ResultBasicInfo"/> class. Result you want to send.</param>
 public void Send(string surveyId, ResultBasicInfo resultInfo)
 {
     Survey survey = new Survey();
     survey.Id = surveyId;
     survey.ResultInfo = resultInfo;
     _resultId = resultInfo.Id;
     Send(survey.GetSavedDocument());
 }
Пример #2
0
        /// <summary>
        /// Allows you to initialize all necessary data members and triggers sending process.
        /// </summary>
        /// <param name="surveyId">Survey identification number.</param>
        /// <param name="resultInfo">Instance of <see cref="ResultBasicInfo"/> class. Result you want to send.</param>
        public void Send(string surveyId, ResultBasicInfo resultInfo)
        {
            Survey survey = new Survey();

            survey.Id         = surveyId;
            survey.ResultInfo = resultInfo;
            _resultId         = resultInfo.Id;
            Send(survey.GetSavedDocument());
        }
 private void DeleteResultFile(ResultBasicInfo result)
 {
     using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
     {
         string directoryPath  = string.Format("surveys/{0}", _surveyId);
         string resultFilePath = System.IO.Path.Combine(directoryPath, string.Format("r_{0}.xml", result.Id));
         isoStore.DeleteFile(resultFilePath);
     }
 }
        /// <summary>
        /// Recreates listOfResults.xml file with Sent attribute set to false for single result.
        /// </summary>
        /// <param name="resultId">Result id you want to modify.</param>
        public void UnmarkSentResult(string resultId)
        {
            ReadList();
            var             items  = from item in _list where item.Id == resultId select item;
            ResultBasicInfo result = items.First <ResultBasicInfo>();

            result.IsResultSent = false;
            XDocument documentWithList = PrepareXDocument();

            _savedDocument = documentWithList;
        }
        /// <summary>
        /// Removes result from list. Recreates listOfResults.xml file and deletes result file.
        /// </summary>
        /// <param name="resultId">Result identification number.</param>
        public void DeleteResult(string resultId)
        {
            ReadList();
            var             items  = from item in _list where item.Id == resultId select item;
            ResultBasicInfo result = items.First <ResultBasicInfo>();

            _list.Remove(result);
            XDocument documentWithList = PrepareXDocument();

            _savedDocument = documentWithList;
            DeleteResultFile(result);
        }
        /// <summary>
        /// Recreates listOfResults.xml file with new location.
        /// </summary>
        /// <param name="resultId">Result id you want to modify.</param>
        /// <param name="latitude">Result latitude you want to modify.</param>
        /// <param name="longitude">Result longitude you want to modify.</param>
        public void UpdateLocation(string resultId, string latitude, string longitude)
        {
            ReadList();
            var             items  = from item in _list where item.Id == resultId select item;
            ResultBasicInfo result = items.First <ResultBasicInfo>();

            if (result != null)
            {
                result.Latitude  = latitude;
                result.Longitude = longitude;
                XDocument documentWithList = PrepareXDocument();
                _savedDocument = documentWithList;
            }
        }
Пример #7
0
        /// <summary>
        /// Removes result from list. Uses <see cref="OperationsOnListOfResults"/> to remove data from IsolatedStorage.
        /// </summary>
        /// <param name="result">Instance of <see cref="ResultBasicInfo"/> class which holds that of result you want to remove.</param>
        public void DeleteResult(ResultBasicInfo result)
        {
            var results = from item in App.AppDictionary["FilteredResults"] as ObservableCollection <ResultsFilter.GroupedOC <ResultBasicInfo> > where item.Contains(result) select item;
            GroupedOC <ResultBasicInfo> entity = results.First <GroupedOC <ResultBasicInfo> >();

            entity.Remove(result);
            if (entity.Count == 0)
            {
                (App.AppDictionary["FilteredResults"] as ObservableCollection <ResultsFilter.GroupedOC <ResultBasicInfo> >).Remove(entity);
            }
            OperationsOnListOfResults operations = new OperationsOnListOfResults(result.ParentId);

            operations.DeleteResult(result.Id);
        }
Пример #8
0
        /// <summary>
        /// Reloads basic data of single survey result from listOfResults.xml file.
        /// </summary>
        /// <param name="resultId">Id of result you want to reload.</param>
        public void ReloadResult(string resultId)
        {
            int groupIndex = -1;
            int itemIndex  = -1;
            ObservableCollection <ResultsFilter.GroupedOC <ResultBasicInfo> > filteredResults = App.AppDictionary["FilteredResults"] as ObservableCollection <ResultsFilter.GroupedOC <ResultBasicInfo> >;

            foreach (var collection in filteredResults)
            {
                var  items     = from item in collection where item.Id == resultId select item;
                bool isNotNull = false;
                foreach (var i in items)
                {
                    isNotNull = true;
                    break;
                }
                if (isNotNull)
                {
                    ResultBasicInfo basicInfo = items.First <ResultBasicInfo>();
                    XDocument       document  = LoadListOfResults(basicInfo.ParentId);
                    if (document != null)
                    {
                        XElement root    = document.Element("results");
                        var      results = from result in root.Elements("result")
                                           where result.Attribute("id").Value == basicInfo.Id
                                           select new ResultBasicInfo()
                        {
                            Id                = result.Attribute("id").Value,
                            Title             = result.Attribute("title").Value,
                            IsResultSent      = Convert.ToBoolean(result.Attribute("isSent").Value),
                            IsResultCompleted = Convert.ToBoolean(result.Attribute("isCompleted").Value),
                            Latitude          = result.Element("latitude") != null?result.Element("latitude").Value   : null,
                            Longitude         = result.Element("longitude") != null?result.Element("longitude").Value : null,
                            Time              = result.Element("time").Value,
                            ParentId          = result.Element("parentId").Value
                        };
                        ResultBasicInfo resultToInsert = results.First <ResultBasicInfo>();
                        groupIndex = filteredResults.IndexOf(collection);
                        itemIndex  = collection.IndexOf(basicInfo);
                        filteredResults[groupIndex].RemoveAt(itemIndex);
                        filteredResults[groupIndex].Insert(itemIndex, resultToInsert);
                    }
                    return;
                }
            }
        }
        /// <summary>
        /// Adds new survey result to list. Recreates listOfResults.xml file.
        /// </summary>
        /// <param name="basicInfo">Instance of <see cref="ResultBasicInfo"/> class.</param>
        public void Add(ResultBasicInfo basicInfo)
        {
            ReadList();
            bool add   = true;
            var  saved = from result in _list where result.Id.Equals(basicInfo.Id) select result;

            foreach (var result in saved)
            {
                if (result.IsResultCompleted == basicInfo.IsResultCompleted)
                {
                    return;
                }
                else
                {
                    result.IsResultCompleted = basicInfo.IsResultCompleted;
                    add = false;
                }
            }
            if (add)
            {
                _list.Add(new ResultBasicInfo()
                {
                    Id                = basicInfo.Id,
                    Title             = basicInfo.Title,
                    Time              = basicInfo.Time,
                    Latitude          = basicInfo.Latitude,
                    Longitude         = basicInfo.Longitude,
                    ParentId          = basicInfo.ParentId,
                    IsResultCompleted = basicInfo.IsResultCompleted,
                    IsResultSent      = basicInfo.IsResultSent
                });
            }
            XDocument documentWithList = PrepareXDocument();

            _savedDocument = documentWithList;
        }
 private void DeleteResultFile(ResultBasicInfo result)
 {
     using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
     {
         string directoryPath = string.Format("surveys/{0}", _surveyId);
         string resultFilePath = System.IO.Path.Combine(directoryPath, string.Format("r_{0}.xml", result.Id));
         isoStore.DeleteFile(resultFilePath);
     }
 }
 /// <summary>
 /// Adds new survey result to list. Recreates listOfResults.xml file.
 /// </summary>
 /// <param name="basicInfo">Instance of <see cref="ResultBasicInfo"/> class.</param>
 public void Add(ResultBasicInfo basicInfo)
 {
     ReadList();
     bool add = true;
     var saved = from result in _list where result.Id.Equals(basicInfo.Id) select result;
     foreach (var result in saved)
     {
         if (result.IsResultCompleted == basicInfo.IsResultCompleted)
         {
             return;
         }
         else
         {
             result.IsResultCompleted = basicInfo.IsResultCompleted;
             add = false;
         }
     }
     if (add)
     {
         _list.Add(new ResultBasicInfo()
         {
             Id = basicInfo.Id,
             Title = basicInfo.Title,
             Time = basicInfo.Time,
             Latitude = basicInfo.Latitude,
             Longitude = basicInfo.Longitude,
             ParentId = basicInfo.ParentId,
             IsResultCompleted = basicInfo.IsResultCompleted,
             IsResultSent = basicInfo.IsResultSent
         });
     }
     XDocument documentWithList = PrepareXDocument();
     _savedDocument = documentWithList;
 }
 /// <summary>
 /// Method to unmark result as sent. After unmark result as sent user can again modify the result.
 /// </summary>
 /// <param name="result">Information about which result was selected by user.</param>
 public void UnmarkSent(ResultBasicInfo result)
 {
     Operations = new OperationsOnListOfResults(result.ParentId);
     Operations.UnmarkSentResult(result.Id);
 }
 /// <summary>
 /// Sends result to server.
 /// </summary>
 /// <param name="selectedListBoxItem">Contains information of result that was selected by user and will be send on server.</param>
 public void SendResult(ResultBasicInfo selectedListBoxItem)
 {
     ProgressBar.Information = Languages.AppResources.surveyViewModel_sendingProgressTitle;
     ProgressBar.IsEnabled = true;
     Operations = new OperationsOnListOfResults(selectedListBoxItem.ParentId);
     IsSending = true;
     ResultSender.Send(selectedListBoxItem.ParentId, selectedListBoxItem);
 }
 /// <summary>
 /// Unmarks sent results.
 /// </summary>
 /// <param name="result">Information about result which should be unmarked.</param>
 public void UnmarkSent(ResultBasicInfo result)
 {
     _operations.UnmarkSentResult(result.Id);
 }
 /// <summary>
 /// Sends result to server.
 /// </summary>
 /// <param name="selectedListBoxItem">Information about result which should be send.</param>
 public void SendResult(ResultBasicInfo selectedListBoxItem)
 {
     ProgressBar.Information = Languages.AppResources.surveyViewModel_sendingProgressTitle;
     ProgressBar.IsEnabled = true;
     SendingInProgress = true;
     _resultSender.Send(SurveyId, selectedListBoxItem);
 }
 /// <summary>
 /// Deletes result from list (and from IsolatedStoraged).
 /// </summary>
 /// <param name="result">Information about result which should be delete.</param>
 public void DeleteResult(ResultBasicInfo result)
 {
     _operations.DeleteResult(result.Id);
 }