public virtual void OnCollision(IncidentInfo msg) { }
public async Task <HttpResponseMessage> UpdatePayment(IncidentPaymentRequest paymentRequest) { Services.Log.Info("Incident Payment Update Request [API]"); string responseText; stranddContext context = new stranddContext(); //Retrieve Incident Incident updateIncident = await(from r in context.Incidents where (r.Id == paymentRequest.IncidentGUID) select r).FirstOrDefaultAsync(); //Find the Incident to Edit and return Bad Response if not found if (updateIncident != null) { string guidnew = Guid.NewGuid().ToString(); //Check for Submitted Payment Amount Payment newPayment = new Payment { Id = guidnew, PaymentPlatform = paymentRequest.PaymentMethod, PlatformPaymentID = guidnew, Amount = paymentRequest.PaymentAmount, Fees = -1, ProviderUserID = IncidentInfo.GetProviderID(paymentRequest.IncidentGUID), Status = "Admin-Entered", BuyerName = "NONE", BuyerEmail = "NONE", BuyerPhone = "NONE", Currency = "INR", AuthenticationCode = "NONE", IncidentGUID = paymentRequest.IncidentGUID }; if (paymentRequest.PaymentMethod == "PAYMENT-CASH") { newPayment.PaymentPlatform = "Cash Payment (Admin)"; newPayment.Status = "Paid"; } if (paymentRequest.PaymentMethod == "PAYMENT-FAIL") { newPayment.PaymentPlatform = "Payment Failure (Admin)"; newPayment.Status = "FAILED"; } if (paymentRequest.PaymentAmount == 0) { newPayment.Amount = -1; } //Save record context.Payments.Add(newPayment); await context.SaveChangesAsync(); responseText = "Incident [" + updateIncident.Id + "] Payment Status Updated"; Services.Log.Info(responseText); //Notify Particular Connected User through SignalR IHubContext hubContext = Services.GetRealtime <IncidentHub>(); hubContext.Clients.Group(updateIncident.ProviderUserID).updateMobileClientStatus(newPayment.GetCustomerPushObject()); Services.Log.Info("Mobile Client [" + updateIncident.ProviderUserID + "] Status Update Payload Sent"); //Web Client Notifications hubContext.Clients.All.saveNewPayment(newPayment); Services.Log.Info("Connected Clients Updated"); //Return Successful Response return(this.Request.CreateResponse(HttpStatusCode.OK, responseText)); } else { // Return Failed Response responseText = "Incident [" + paymentRequest.IncidentGUID + "] is not found in the system"; Services.Log.Warn(responseText); return(this.Request.CreateResponse(HttpStatusCode.BadRequest, responseText)); } }
protected internal virtual void OnCollision(IncidentInfo msg) { }
public static bool SendCurrentIncidentInvoiceEmail(Incident incident, ApiServices Services) { IncidentInfo invoiceIncident = new IncidentInfo(incident); if (invoiceIncident.PaymentAmount < invoiceIncident.ServiceFee) { SendGridMessage invoiceMessage = new SendGridMessage(); invoiceMessage.From = SendGridHelper.GetAppFrom(); invoiceMessage.AddTo(invoiceIncident.IncidentUserInfo.Email); invoiceMessage.Html = " "; invoiceMessage.Text = " "; invoiceMessage.Subject = "StrandD Invoice - Payment for Service Due"; invoiceMessage.EnableTemplateEngine(WebConfigurationManager.AppSettings["RZ_InvoiceTemplateID"]); invoiceMessage.AddSubstitution("%invoicestub%", new List <string> { invoiceIncident.IncidentGUID.Substring(0, 5).ToUpper() }); invoiceMessage.AddSubstitution("%incidentguid%", new List <string> { invoiceIncident.IncidentGUID }); invoiceMessage.AddSubstitution("%name%", new List <string> { invoiceIncident.IncidentUserInfo.Name }); invoiceMessage.AddSubstitution("%phone%", new List <string> { invoiceIncident.IncidentUserInfo.Phone }); invoiceMessage.AddSubstitution("%email%", new List <string> { invoiceIncident.IncidentUserInfo.Email }); invoiceMessage.AddSubstitution("%jobdescription%", new List <string> { invoiceIncident.JobCode }); invoiceMessage.AddSubstitution("%servicefee%", new List <string> { (invoiceIncident.ServiceFee - invoiceIncident.PaymentAmount).ToString() }); invoiceMessage.AddSubstitution("%datesubmitted%", new List <string> { DateTime.Now.ToShortDateString() }); invoiceMessage.AddSubstitution("%datedue%", new List <string> { (DateTime.Now.AddDays(30)).ToShortTimeString() }); invoiceMessage.AddSubstitution("%servicepaymentlink%", new List <string> { (WebConfigurationManager.AppSettings["RZ_ServiceBaseURL"].ToString() + "/view/customer/incidentpayment/" + invoiceIncident.IncidentGUID) }); // Create an Web transport for sending email. var transportWeb = new Web(SendGridHelper.GetNetCreds()); // Send the email. try { transportWeb.Deliver(invoiceMessage); Services.Log.Info("Incident Invoice Email Sent to [" + invoiceIncident.IncidentUserInfo.Email + "]"); return(true); } catch (InvalidApiRequestException ex) { for (int i = 0; i < ex.Errors.Length; i++) { Services.Log.Error(ex.Errors[i]); return(false); } } return(false); } else { return(false); } }
private void BindEmailValues() { EMailMessageInfo mi = EMailMessageInfo.Load(EMailMessageId); IncidentInfo incidentInfo = EMailIncidentMappingHandler.CreateMapping(EMailMessageId); // Eval IncidentBox ddlFolder.SelectedValue = IncidentBoxRule.Evaluate(incidentInfo).IncidentBoxId.ToString(); txtTitle.Text = incidentInfo.Title; ftbDescription.Text = incidentInfo.Description; CommonHelper.SafeSelect(ddlPriority, incidentInfo.PriorityId.ToString()); CommonHelper.SafeSelect(ddlSeverity, incidentInfo.SeverityId.ToString()); CommonHelper.SafeSelect(ddlType, incidentInfo.TypeId.ToString()); ddProject.ObjectTypeId = (int)ObjectTypes.Project; ddProject.ObjectId = incidentInfo.ProjectId; if (incidentInfo.GeneralCategories != null) { foreach (int CatId in incidentInfo.GeneralCategories) { CommonHelper.SafeMultipleSelect(lbCategory, CatId.ToString()); } } if (incidentInfo.IncidentCategories != null) { foreach (int CatId in incidentInfo.IncidentCategories) { CommonHelper.SafeMultipleSelect(lbIncidentCategory, CatId.ToString()); } } //try from MailSenderEmail PrimaryKeyId contactUid = PrimaryKeyId.Empty; PrimaryKeyId orgUid = PrimaryKeyId.Empty; Client client = Common.GetClient(incidentInfo.MailSenderEmail); if (client != null) { if (client.IsContact) { contactUid = client.Id; ClientControl.ObjectType = ContactEntity.GetAssignedMetaClassName(); ClientControl.ObjectId = contactUid; } else { orgUid = client.Id; ClientControl.ObjectType = OrganizationEntity.GetAssignedMetaClassName(); ClientControl.ObjectId = orgUid; } } //from incidentinfo if (orgUid == PrimaryKeyId.Empty && contactUid == PrimaryKeyId.Empty) { if (incidentInfo.OrgUid != PrimaryKeyId.Empty) { ClientControl.ObjectType = OrganizationEntity.GetAssignedMetaClassName(); ClientControl.ObjectId = incidentInfo.OrgUid; } else if (incidentInfo.ContactUid != PrimaryKeyId.Empty) { ClientControl.ObjectType = ContactEntity.GetAssignedMetaClassName(); ClientControl.ObjectId = incidentInfo.ContactUid; } } trHtmlAttach.Visible = false; trEmail.Visible = true; string sBody = ""; if (mi.HtmlBody != null) { sBody = EMailMessageInfo.CutHtmlBody(mi.HtmlBody, 256, "..."); } if (sBody.Trim() != "") { lblEmail.Text = String.Format("{0}<p align=right class='text'><a href=\"javascript:OpenSizableWindow('EMailView.aspx?EMailId={2}', 750, 550)\"><b>{1}</b></a>", sBody, LocRM4.GetString("More"), EMailMessageId); } else { lblEmail.Text = sBody; } }