// GET: Api public async Task<ActionResult> CompanyAsync(Guid id, bool settings = false) { var cookies = new CookieManager(HttpContext); if(cookies.GetUser() != null) { PerfectView.PerfectViewSoapClient client = new PerfectView.PerfectViewSoapClient(); try { if(settings) { var settingsResponse = await client.RelationGetFieldsAsync(Settings.Credentials, PerfectView.BaseRelationType.Organisation); var getvalue = CompanyResultBuilder.BuildSettingsGetValue(settingsResponse); var @enum = CompanyResultBuilder.BuildSettingsEnum(settingsResponse); } var response = await client.RelationGetAsync(Settings.Credentials, id, true, false); var parents = await client.RelationGetParentRelationshipsAsync(Settings.Credentials, id, true); var childs = await client.RelationGetChildRelationshipsAsync(Settings.Credentials, id, true); return Json(CompanyResultBuilder.Build(response, parents, childs), JsonRequestBehavior.AllowGet); } catch(Exception exc) { } } return Json(null, JsonRequestBehavior.AllowGet); }
// GET: Test public async Task<ActionResult> Index() { PerfectView.PerfectViewSoapClient client = new PerfectView.PerfectViewSoapClient(); // Get all workflows: //var response = await client.WorkflowGetAllAsync(Settings.Credentials); // Support: // { // "ExtensionData" : { }, //"Id" : "75749a1e-b784-45aa-8fbb-2d39c51bd3e7", //"Name" : "Support", //"EntityTypeId" : "0f23fe82-8d93-4f18-af4e-f1342d5a634e" // } // Get all queues / wachtrijen //var response = await client.WorkflowGetQueuesAsync(Settings.Credentials, Guid.Parse("75749a1e-b784-45aa-8fbb-2d39c51bd3e7")); // "Queues" : [{ // "ExtensionData" : {}, // "Id" : "c3e70c63-b67f-40a7-9145-26b6a1cace87", // "Name" : "Support - Herplannen" // }, { // "ExtensionData" : {}, // "Id" : "7ae54fc0-6025-4fc6-9be4-76e22c59b236", // "Name" : "Support - Te Factureren" // } //], //var response = await client.ActivitySearchByFieldAsync(Settings.Credentials, Guid.Parse("0f23fe82-8d93-4f18-af4e-f1342d5a634e"), new PerfectView.PvFieldValueData[0], 0, 50, true, false); //var response = await client.ActivityGetAsync(Settings.Credentials, Guid.Parse("fda51699-eb08-466d-b9c3-b8e370b96a8e"), true, false); //var response = await client.ActivityGetFieldsAsync(Settings.Credentials, Guid.Parse("75749a1e-b784-45aa-8fbb-2d39c51bd3e7")); //var response = await client.WorkflowStepGetAllAsync(Settings.Credentials, Guid.Parse("75749a1e-b784-45aa-8fbb-2d39c51bd3e7")); //var response = await client.EnumerationGetItemsAsync(Settings.Credentials, "urgenties supports"); return Json("", JsonRequestBehavior.AllowGet); }
public async Task<ActionResult> ProductsAsync(string query) { var cookies = new CookieManager(HttpContext); PerfectView.PerfectViewSoapClient client = new PerfectView.PerfectViewSoapClient(); if(query.Length > 2 && cookies.GetUser() != null) { try { var response = await client.ProductGetAllAsync(Settings.Credentials); return Json(ProductSearchResultBuilder.Build(response, query), JsonRequestBehavior.AllowGet); } catch(Exception exc) { } } return Json(new CompanySearchResult[0], JsonRequestBehavior.AllowGet); }
// GET: Api public async Task<ActionResult> CompaniesAsync(string query) { var cookies = new CookieManager(HttpContext); PerfectView.PerfectViewSoapClient client = new PerfectView.PerfectViewSoapClient(); if(query.Length > 2 && cookies.GetUser() != null) { try { var response = await client.RelationSearchByName_V2Async(Settings.Credentials, 1, 10, query, true, false); return Json(CompanySearchResultBuilder.Build(response), JsonRequestBehavior.AllowGet); } catch(Exception exc) { } } return Json(new CompanySearchResult[0], JsonRequestBehavior.AllowGet); }
private async Task<ActionResult> SaveInternal(string from_name, string from_email, WorkOrder order) { var cookies = new CookieManager(HttpContext); if(cookies.GetUser() == null) { return RedirectToAction("Index", "Index", new { goed = true }); } PerfectView.PerfectViewSoapClient client = new PerfectView.PerfectViewSoapClient(); try { var response = await client.ActivityCreateAsync(Settings.Credentials, new PerfectView.PvActivitySettingsData { WorkflowId = Settings.SupportWorkflowId, WorkflowStepId = Settings.NieuwWorkFlowStepId, ParentRelationshipId = Guid.Parse(order.BedrijfsId), ChildRelationshipId = !string.IsNullOrEmpty(order.ContactpersoonId) ? Guid.Parse(order.ContactpersoonId) : (Guid?)null, }, new PerfectView.PvActivityFollowUpData { Start = ParseDateTime(order.Momenten.FirstOrDefault(), m => m.Datum, m => m.Begintijd), End = ParseDateTime(order.Momenten.FirstOrDefault(), m => m.Datum, m => m.Eindtijd) }, new PerfectView.PvFieldValueData[] { ActivityRequestBuilder.Build(ActivityFields.Onderwerp, GetOnderwerp(from_name, order.Opdracht) ), ActivityRequestBuilder.Build(ActivityFields.Omschrijving, order.Opdracht), ActivityRequestBuilder.Build(ActivityFields.Oplossing, BuildOplossing(order)), }, null); if(response.Body.ActivityCreateResult.Activity == null) { throw new Exception(response.Body.ActivityCreateResult.ErrorInformation); } var activityId = response.Body.ActivityCreateResult.Activity.Id; await client.ActivityFlowAsync(Settings.Credentials, activityId, Guid.Empty, Guid.Empty, Guid.Parse(order.Wachtrij)); var sigToImg = new SignatureToImage() { BackgroundColor = Color.White, PenColor = Color.FromArgb(20, 83, 148), CanvasWidth = 290, CanvasHeight = 330, PenWidth = 2, FontSize = 24, FontName = "Journal", }; using(var signatureImage = sigToImg.SigJsonToImage(order.output)) using(System.IO.MemoryStream stream = new System.IO.MemoryStream()) { signatureImage.Save(stream, System.Drawing.Imaging.ImageFormat.Png); byte[] imageBytes = stream.ToArray(); string imageBase64String = Convert.ToBase64String(imageBytes); await client.ActivityAddAttachmentAsync(Settings.Credentials, activityId, "handtekening.png", imageBase64String); var htmlBytes = System.Text.Encoding.UTF8.GetBytes(ActivityRequestBuilder.BuildHtml(order, imageBase64String)); string htmlBase64String = Convert.ToBase64String(htmlBytes); await client.ActivityAddAttachmentAsync(Settings.Credentials, activityId, "werkbon.html", htmlBase64String); } return RedirectToAction("Index", "Index", new { goed = true }); } catch(Exception exc) { return RedirectToAction("Index", "Index", new { goed = false, error = exc.Message }); } }