public static void ParseFile(ProjectFileDto fileModel, Action <FileOperationResponse> callback)
        {
            FileOperationRequest request = new FileOperationRequest();

            // Set contextual identifiers
            request.UserId    = 478; // hard-coded, for now
            request.ProjectId = fileModel.ProjectId;
            request.FileId    = fileModel.Id;

            // Specify operations to perform
            request.SyncContent = new FileSyncContentRequest()
            {
                Content = fileModel.Content
            };
            request.Parse = new FileParseRequest()
            {
            };

            Task.Factory.StartNew(() =>
            {
                var requestJson = JsonConvert.SerializeObject(request);

                #region Simulation of call to server
                var responseJson = Server_HandleStatefulFileOperationRequest(requestJson);
                #endregion

                var response = JsonConvert.DeserializeObject <FileOperationResponse>(responseJson);

                callback.Invoke(response);
            });
        }
        public static ProjectFileDto FromViewModelToModel(ProjectFileViewModel viewModel)
        {
            var model = new ProjectFileDto();

            model.Id           = viewModel.Id;
            model.ProjectId    = viewModel.ProjectId;
            model.Name         = viewModel.Name;
            model.LastModified = viewModel.LastModified;
            model.Content      = viewModel.Content;
            return(model);
        }
        public static ProjectFileViewModel FromModelToViewModel(ProjectFileDto model)
        {
            var vm = new ProjectFileViewModel();

            vm.Id           = model.Id;
            vm.ProjectId    = model.ProjectId;
            vm.Name         = model.Name;
            vm.LastModified = model.LastModified;
            vm.Content      = model.Content;
            return(vm);
        }