public ApiContext GetAuthorizedContext(PelicanContext pelicanContext, Guid companyFileId) { var keyService = new OAuthKeyService(this); var configuration = new ApiConfiguration(pelicanContext.ClientKey, pelicanContext.ClientSecret, pelicanContext.RedirectUrl); // get companyfiles var cfService = new CompanyFileService(configuration, null, keyService); var companyFiles = cfService.GetRange(); // select var companyFile = companyFiles.FirstOrDefault(_ => _.Id == companyFileId); // fetch accounts var credentials = new CompanyFileCredentials("Administrator", ""); return(new ApiContext { ApiConfiguration = configuration, CompanyFileCredentials = credentials, KeyService = keyService, CompanyFile = companyFile, }); }
public void SetUp() { _configuration = Substitute.For <IApiConfiguration>(); _webFactory = new TestWebRequestFactory(); _service = new CompanyFileService(_configuration, _webFactory); _configuration.ApiBaseUrl.Returns(ApiRequestHandler.ApiRequestUri.AbsoluteUri); }
protected void Page_Load(object sender, EventArgs e) { // Load all files from cloud and local simultaneously lblCode.Text = SessionManager.Code; var cfsCloud = new CompanyFileService(SessionManager.MyConfiguration, null, SessionManager.MyOAuthKeyService); CompanyFile[] a = cfsCloud.GetRange(); CompanyFiles = a; GridView1.DataSource = a; GridView1.DataBind(); }
public ActionResult List() { var files = CompanyFileService.GetAll().Where(f => f.UserID == User.UserID || f.CompanyID == User.CompanyID) .OrderByDescending(x => x.Id) .ToList(); return(BaseView(Views.CompanyFile.List, new CompanyFileListVM { Files = files, User = User })); }
public ActionResult Edit(CompanyFileVM model) { if (model.CompanyFile == null) { model.CompanyFile = new CompanyFile(); } model.UploadFile = CompanyFiles.GetUploadFile(Request.Files[0]); if (!FluentValidate(model)) { return(RedirectBack()); } CompanyFile companyFile = null; if (model.CompanyFile.Name.IsEmpty()) { model.CompanyFile.Name = model.UploadFile.Name; } if (model.IsNew) { companyFile = model.CompanyFile; companyFile.UserID = User.UserID; companyFile.SysFileName = model.UploadFile.Name; CompanyFileService.InsertAndSubmit(companyFile); } else { var userFileId = model.CompanyFile.Id; companyFile = CompanyFileService.GetByPK(userFileId); if (companyFile.UserID != User.UserID) { throw new NotOwnerException("File"); } companyFile.Update(model.CompanyFile, x => x.Name, x => x.CompanyID); if (!model.UploadFile.IsEmpty) { companyFile.SysFileName = model.UploadFile.Name; } CompanyFileService.SubmitChanges(); } if (!model.UploadFile.IsEmpty) { CompanyFiles.DeleteFile(companyFile.Id); var hpf = Request.Files[0]; hpf.SaveAs(CompanyFiles.GetUserFileSys(companyFile.Id, model.UploadFile.Name)); } return(RedirectToAction(() => List())); }
public ActionResult Files(int id) { var files = CompanyFileService.GetAll(x => x.CompanyID == id).ToList(); var name = CompanyService.GetValues(id, x => x.CompanyName); var model = new OrgFileListVM { CompanyFiles = files, CompanyName = name }; return(BaseViewWithModel(new OrgFileListView(), model)); }
public ActionResult Delete(int fileID) { var file = CompanyFileService.GetByPK(fileID); if (file.UserID != User.UserID) { throw new NotOwnerException("File"); } CompanyFileService.DeleteAndSubmit(file); CompanyFiles.DeleteFile(file.Id); return(RedirectBack()); }
internal CompanyFileWithResources Login(CompanyFile companyFile, string userId, string password) { var _login = new LoginContext { Username = userId, Password = password }; var _service = new CompanyFileService(APIConfiguration, null, KeyService); CompanyFileResource = _service.Get(companyFile, _login); CompanyCredential = new CompanyFileCredentials(userId, password); return(CompanyFileResource); }
public static void ListFiles() { var configuration = new ApiConfiguration("http://localhost:8080/accountright"); var cfService = new CompanyFileService(configuration); var companyFiles = cfService.GetRange(); var companyFile = companyFiles.FirstOrDefault(x => new Version(x.ProductVersion) >= new Version("2015.3")); var credentials = new CompanyFileCredentials("Administrator", ""); var accountService = new AccountService(configuration); var accounts = accountService.GetRange(companyFile, null, credentials); MessageBox.Show($"{accounts.Count} accounts"); }
//http://codereview.stackexchange.com/questions/42652/chaining-tasks-with-async-await public t.Task <CompanyFile[]> GetCompanyFiles(ApiConfiguration configuration, IOAuthKeyService authKeyService) { var tcs = new t.TaskCompletionSource <CompanyFile[]>(); t.Task.Run( async() => { var cfsCloud = new CompanyFileService(configuration, null, authKeyService); var files = await cfsCloud.GetRangeAsync(); tcs.SetResult(files); }); return(tcs.Task); }
public ActionResult Edit(int fileID) { var file = CompanyFileService.GetByPK(fileID); if (file.UserID != User.UserID) { throw new PermissionException("file edit"); } var model = new CompanyFileVM { CompanyFile = file, User = User }; InitModel(model); return(BaseView(Views.CompanyFile.Edit, model)); }
public void FetchFile(IApiConfiguration configurationCloud, IWebRequestFactory webRequestFactory, IOAuthKeyService keyService, string inFilename) { try { ServiceLogger.Log("In fetch File"); FileName = inFilename; ConfigurationCloud = configurationCloud; MyOAuthKeyService = keyService; var cfsCloud = new CompanyFileService(configurationCloud, null, keyService); cfsCloud.GetRange(OnComplete, OnError); } catch (Exception ex) { ServiceLogger.LogException("Exception in FetchFile", ex); } }
/// <summary> /// Event that is called when the form loads /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks></remarks> private void CompanyFilesLoad(object sender, EventArgs e) { try { ShowSpinner(); //If developer key enable (see above) and set useCVloud to true the following section manages OAuth token and accessing cloud service if (UseCloud) { _configurationCloud = new ApiConfiguration(DeveloperKey, DeveloperSecret, "http://desktop"); _oAuthKeyService = new OAuthKeyService(); //Get tokens if not stored if (_oAuthKeyService.OAuthResponse == null) { var oauthService = new OAuthService(_configurationCloud); _oAuthKeyService.OAuthResponse = oauthService.GetTokens(OAuthLogin.GetAuthorizationCode(_configurationCloud)); } // Load all files from cloud and local simultaneously var cfsCloud = new CompanyFileService(_configurationCloud, null, _oAuthKeyService); cfsCloud.GetRange(OnComplete, OnError); } _configurationLocal = new ApiConfiguration(LocalApiUrl); var cfsLocal = new CompanyFileService(_configurationLocal); cfsLocal.GetRange(OnComplete, OnError); //' The following two lines can be called to run synchronously rather than async //_companyFiles = cfs.GetRange() //dgvCompanyFiles.DataSource = _companyFiles } catch (Exception ex) { MessageBox.Show(ex.Message); } }