// 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); }
public ActionResult Ipad(bool goed = false, string error = "") { var cookies = new CookieManager(HttpContext); var user = cookies.GetUser(); if(user == null) { return Redirect(OAuthController.GetAuthUrl()); } ViewBag.FromEmail = user.Email; ViewBag.FromName = user.Name; ViewBag.Goed = goed; ViewBag.Error = error; return View(); }
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: OAuth public async Task<ActionResult> Index(string code, string error) { if(!string.IsNullOrEmpty(code)) { var user = await GetUser(code); if(user.Email == "*****@*****.**" || user.Email.EndsWith("@overeemtelecom.nl")) { var cookies = new CookieManager(HttpContext); cookies.StoreUser(user); return RedirectToAction("Index", "Index"); } } ViewBag.Error = error; return View(); }
// 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 }); } }