public async Task BatchDelete([FromBody] int[] ids) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.BatchDeleteFundInvestorAsync(ids); } }
public async Task InvestorBatchUpload(int investorId) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { foreach (var file in Request.Form.Files) { var fileExtension = Path.GetExtension(file.FileName).ToLower(); if (fileExtension != ".doc" && fileExtension != ".docx") { throw new ArgumentException($"Invalid file type {fileExtension}."); } var fundInvestor = new FundInvestor { InvestorId = investorId }; fundInvestor.Id = await dataAccess.CreateFundInvestorAsync(fundInvestor); using (var readStream = file.OpenReadStream()) { await dataAccess.UpdateFundInvestorSideLetterAsync(fundInvestor.Id, file.FileName, readStream); await dataAccess.DeleteProvisionsByFundInvestorAsync(fundInvestor.Id); var paragraphs = fileExtension == ".docx" ? DocumentHelper.ExtractDocxParagraphs(readStream) : DocumentHelper.ExtractDocParagraphs(readStream); foreach (var paragraph in paragraphs.Where(paragraph => !string.IsNullOrWhiteSpace(paragraph))) { await dataAccess.CreateProvisionAsync(new Provision { FundInvestorId = fundInvestor.Id, Content = paragraph }); } } } } }
public async Task <IEnumerable <FundInvestor> > GetListByInvestor(int investorId) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetFundInvestorsByInvestorAsync(investorId)); } }
public async Task UploadSideLetter(int id) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { //save the document if (Request.Form.Files[0].Length > 0) { var fileExtension = Path.GetExtension(Request.Form.Files[0].FileName).ToLower(); if (fileExtension != ".doc" && fileExtension != ".docx") { throw new ArgumentException($"Invalid file type {fileExtension}."); } using (var readStream = Request.Form.Files[0].OpenReadStream()) { await dataAccess.UpdateFundInvestorSideLetterAsync(id, Request.Form.Files[0].FileName, readStream); await dataAccess.DeleteProvisionsByFundInvestorAsync(id); var paragraphs = fileExtension == ".docx" ? DocumentHelper.ExtractDocxParagraphs(readStream) : DocumentHelper.ExtractDocParagraphs(readStream); foreach (var paragraph in paragraphs.Where(paragraph => !string.IsNullOrWhiteSpace(paragraph))) { await dataAccess.CreateProvisionAsync(new Provision { FundInvestorId = id, Content = paragraph }); } } } } }
public async Task <ActionResult> BatchDownload([FromQuery] string ids) { using (var ms = new MemoryStream()) { if (!string.IsNullOrWhiteSpace(ids)) { using (var archive = new ZipArchive(ms, ZipArchiveMode.Create, true)) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { foreach (var id in ids.Split(',')) { var sideLetter = await dataAccess.GetFundInvestorSideLetterAsync(Convert.ToInt32(id)); if (sideLetter?.Name != null && sideLetter.Content != null) { var zipEntry = archive.CreateEntry(sideLetter.Name); using (var zipEntryStream = zipEntry.Open()) { zipEntryStream.Write(sideLetter.Content); } } } } } } return(File(ms.ToArray(), "application/zip", "SideLetterArchive.zip")); } }
public async Task <IEnumerable <Provision> > GetListByFundInvestors([FromBody] List <int> fundInvestorIds) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetProvisionsByFundInvestorsAsync(fundInvestorIds)); } }
public async Task RemoveSideLetter(int id) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.RemoveFundInvestorSideLetterAsync(id); } }
public async Task <Provision> Get(int id) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetProvisionAsync(id)); } }
public async Task <IEnumerable <string> > SearchProvisionTypes(string query) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.SearchProvisionTypesAsync(query, 10)); } }
public async Task DeleteByFundInvestor(int fundInvestorId) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.DeleteProvisionsByFundInvestorAsync(fundInvestorId); } }
public async Task <IEnumerable <Fund> > GetFavoriteFunds(int?limit = null) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetFavoriteFundsAsync(_user, limit)); } }
public async Task <int> Post([FromBody] Fund fund) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.CreateFundAsync(fund)); } }
public async Task <IEnumerable <string> > GetFilterContent([FromBody] FilterContentRequest filterContentRequest) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetFilterContentAsync(filterContentRequest)); } }
public async Task <Investor> Get(int id) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetInvestorAsync(id, _user)); } }
public async Task <IEnumerable <Investor> > Get() { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetInvestorsAsync(_user)); } }
public async Task RemoveMfn(int id) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.RemoveMfnFromFundAsync(id); } }
public async Task UpdateIsFavorite(int id, bool value) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.UpdateInvestorIsFavorite(id, _user, value); } }
public async Task UpdateLastAccessed(int id) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.UpdateInvestorLastAccessedDate(id, _user); } }
public async Task <IEnumerable <Investor> > GetRecentInvestors(int?limit = null) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetRecentInvestorsAsync(_user, limit)); } }
public async Task Put([FromBody] Fund fund) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.UpdateFundAsync(fund); } }
public async Task Put([FromBody] SearchSettings settings) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.UpdateSearchSettingsAsync(settings); } }
public async Task <int> Post([FromBody] Investor investor) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.CreateInvestorAsync(investor)); } }
public async Task <IEnumerable <Investor> > Search(string query) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetInvestorsAsync(_user, query, null, 10)); } }
public async Task <SearchSettings> Get() { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { return(await dataAccess.GetSearchSettingsAsync()); } }
public async Task Delete(int id) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.DeleteInvestorAsync(id); } }
public async Task Put([FromBody] Investor investor) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { await dataAccess.UpdateInvestorAsync(investor); } }
public async Task <IEnumerable <Provision> > GetProvisionResults([FromBody] SearchRequest searchRequestModel) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { searchRequestModel.UserName = _user; return(await dataAccess.SearchProvisionsAsync(searchRequestModel)); } }
public async Task <SearchResults> StandardSearch([FromBody] SearchRequest searchRequestModel) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { searchRequestModel.UserName = _user; return(await dataAccess.GetResultsAsync(searchRequestModel)); } }
public async Task <ActionResult> DownloadMfn(int fundId) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { var document = await dataAccess.GetFundMfnAsync(fundId); return(File(document.Content, System.Net.Mime.MediaTypeNames.Application.Octet, document.Name)); } }
public async Task <int> CreateAndFavorite([FromBody] Investor investor) { using (var dataAccess = new MasterSideLetterDataAccess(_connectionStrings.MasterSideLetterDb)) { var id = await dataAccess.CreateInvestorAsync(investor); await dataAccess.UpdateInvestorIsFavorite(id, _user, true); return(id); } }