public static DataTable ToDataTable(this SimpleDataTable self, int maxRows = int.MaxValue) { var dt = new DataTable(); foreach (var col in self.Columns) { dt.Columns.Add(col); } dt.BeginLoadData(); foreach (var row in self.Rows) { var objs = new object[row.Length]; for (int i = 0; i < row.Length; i++) { objs[i] = row[i] switch { double n => $"{n:0.####}", byte[] bytes => BlobUtil.ToString(bytes), _ => row[i] }; } dt.LoadDataRow(objs, true); if (dt.Rows.Count >= maxRows) { break; } } dt.EndLoadData(); return(dt); }
public ActionResult SendPDF(string formXml, string xsnName, string viewName, string toEmail, string emailBody) { var spContext = SharePointContextProvider.Current.GetSharePointContext(System.Web.HttpContext.Current); using (var clientContext = spContext.CreateUserClientContextForSPHost()) { SP.User spUser = GetSharePointUser(clientContext); string internalUserID = null; // Store data for processing string tenantID = TokenHelper.GetRealmFromTargetUrl(new Uri(clientContext.Url)); RequestIdentifier rid = RequestUtil.AddRequestEntity(PdfRequestType.SendPDF, PdfRequestStatus.InProgress, tenantID, internalUserID); PDFRequest response = new PDFRequest(); response.RequestID = rid.ID; response.RequestType = PdfRequestType.SendPDF; response.Status = PdfRequestStatus.InProgress; response.Message = ""; BlobUtil bu = null; try { bu = new BlobUtil(); ParameterCollection plist = new ParameterCollection(); plist.Add(Parameters.Api, "SendPDF"); plist.Add(Parameters.ViewName, viewName ?? ""); plist.Add(Parameters.UserID, internalUserID); plist.Add(Parameters.XsnName, xsnName ?? ""); plist.Add(Parameters.FromEmail, spUser.Email ?? ""); plist.Add(Parameters.ToEmail, toEmail ?? ""); plist.Add(Parameters.EmailBody, emailBody ?? ""); BlobCollection bc = new BlobCollection(); bc.Add("xml", formXml); bc.Add("parameters", plist); bu.StoreRequestArguments(rid.ID, bc); // post to queue PdfServiceQueues.XmlToHtmlClient.AddMessage(rid.ID, internalUserID); } catch (Exception ex) { // Update request status response.Status = PdfRequestStatus.Error; response.Message = ex.Message; RequestUtil.UpdateRequestStatus(rid.ID, PdfRequestStatus.Error, ex.Message); //PdfServiceQueues.EmailSendClient.AddErrorMessage(requestID, internalUserID.Value, ex.Message); } finally { } return(new ObjectResult <PDFRequest>(response)); } }
private void ExecutePrintStmt(Ast.PrintStmt stmt, ScriptEnv env) { var value = EvaluateExpr(stmt.Value, env); if (value is byte[] byteArray) { env.Output.TextOutput.Add(BlobUtil.ToString(byteArray)); return; } env.Output.TextOutput.Add(value.ToString()); }
public async Task<ActionResult> Details(int? id) { if (id == null) return RedirectToAction("Index"); var queryable = dbContext.Claims.Include(i => i.Vehicle.Customer) .Where(i => i.Id == id); var claim = await queryable.FirstOrDefaultAsync(); if (claim == null) return HttpNotFound(); var vehicle = claim.Vehicle; var customer = vehicle.Customer; var otherParty = claim.OtherParty; var queryClaims = dbContext.Claims.Where(i => i.Vehicle.CustomerId == customer.Id) .Select(i => new { claimId = i.Id, firstName = i.Vehicle.Customer.FirstName, lastName = i.Vehicle.Customer.LastName, claimType = i.Type, dueDate = i.DateTime, claimStatus = i.Status.ToString(), damageAssessment = i.DamageAssessment.ToString() }); var claimHistory = await queryClaims.ToListAsync(); var result = new { claimId = claim.Id, correlationId = claim.CorrelationId, dateTime = claim.DateTime, dueDate = claim.DueDate, status = claim.Status.ToString(), damageAssessment = claim.DamageAssessment.ToString(), location = new { longitude = claim.Coordinates?.Longitude, latitude = claim.Coordinates?.Latitude, }, description = claim.Description, customer = new { name = customer.FirstName + ' ' + customer.LastName, street = customer.Street, city = customer.City, state = customer.State, zip = customer.Zip, dob = customer.DOB, phone = customer.MobilePhone, email = customer.Email, policyId = customer.PolicyId, policyStart = customer.PolicyStart, driversLicenseNumber = customer.DriversLicenseNumber, }, vehicle = new { vehicleNumber = vehicle.VIN, licensePlate = vehicle.LicensePlate }, otherParty = new { name = otherParty.FirstName + " " + otherParty.LastName, street = otherParty.Street, city = otherParty.City, state = otherParty.State, zip = otherParty.Zip, dob = otherParty.DOB, phone = otherParty.MobilePhone, email = "", licensePlate = otherParty.LicensePlate, policyId = otherParty.PolicyId, vehicleNumber = otherParty.VIN, driversLicenseNumber = otherParty.DriversLicenseNumber, licensePlateImageURL = BlobUtil.ConverToBlobSas(otherParty.LicensePlateImageUrl), insuranceCardImageURL = BlobUtil.ConverToBlobSas(otherParty.InsuranceCardImageUrl), driversLicenseImageURL = BlobUtil.ConverToBlobSas(otherParty.DriversLicenseImageUrl) }, images = claim.Images.Select(i => BlobUtil.ConverToBlobSas(i.ImageUrl)).ToArray(), claimHisotry = claimHistory }; ViewData["claimData"] = JsonConvert.SerializeObject(result); ; return View(); }