protected void btnSubmit_Click(object sender, EventArgs e) { try { string title = txtTitle.Text; string content = txtMessage.Text; List <string> customerEmails = getCustomerList(); string emailContent = content; EmailClass emailClass = new EmailClass(customerEmails, title, emailContent, false);// change false to true if (EmailClass.isCredentialed()) { EmailCredential credential = (EmailCredential)Session["EmailCredential"]; emailClass.sendEmail(credential); } else { Session["tempEmail"] = emailClass; Response.Redirect(ResolveUrl("~/Staff/VerifyEmail.aspx?ReturnURL=" + Request.Url.AbsoluteUri)); } } catch (Exception ex) { Response.Write("<script LANGUAGE='JavaScript' >alert('Error occur when sending email: " + ex.Message + "')</script>"); } }
protected void btnSubmit_Click(object sender, EventArgs e) { string email = txtEmail.Text; string password = txtPassword.Text; int abc = ddlEmailProvider.SelectedIndex; if (Session["tempEmail"] != null) { EmailClass emailClass = (EmailClass)Session["tempEmail"]; try { EmailCredential emailCredential = new EmailCredential(new NetworkCredential(email, password), EmailClass.getStmpClient(ddlEmailProvider.SelectedValue)); emailClass.sendEmail(emailCredential); EmailClass.generateCredential(email, password, EmailClass.getStmpClient(ddlEmailProvider.SelectedValue)); string url = Request.QueryString["ReturnUrl"]; Response.Write(" <script language = 'javascript'> window.alert('Email has been sent. Redirecting previous page.'); window.location = '" + url + "';</script>"); } catch (SmtpFailedRecipientsException stmpRecipientsException) { lblError.Text = "Email failed to send to " + stmpRecipientsException.FailedRecipient; } catch (SmtpException smtpException) { lblError.Text = "The email or password might typed wrong or " + smtpException.Message; } } else { lblError.Text = "There is no email to be send, credential is not created."; } }
public ActionResult CommentReply(string commentreply, int ticketId) { if (Session["isLogin"] != null) { if (!string.IsNullOrEmpty(commentreply)) { TicketViewModel viewModel = new TicketViewModel(); viewModel.Comment = db.Comment.Where(o => o.TicketId == ticketId).ToList(); viewModel.ticket = db.Ticket.Where(o => o.TicketId == ticketId).FirstOrDefault(); Comment commentModel = new Comment(); try { commentModel.CommenterName = Session["name"].ToString(); commentModel.CommentMessage = commentreply; commentModel.TicketId = ticketId; commentModel.Created_at = DateTime.Now; commentModel.CommentId = RandomNumber(); string name = Session["name"].ToString(); string adminssionNo = Session["AdmissionNo"].ToString(); var commentData = db.Comment.Add(commentModel); db.SaveChanges(); if (commentData != null) { EmailParam param = new EmailParam(); param.Email = "*****@*****.**"; param.SenderEmail = "*****@*****.**"; param.From = "Open Ticket for IGR"; param.Message = "Hi Admin,\n\nYou have a pending ticket with content below\n\nPlease login into support to respond ticket\n\n--------------\n\n" + commentModel.CommentMessage + "\n\n------------\n\nSender Name: " + name + "\nAmissionNo: " + adminssionNo; EmailClass.sendEmail(EMAILAPI, param); } } catch (Exception ex) { ViewBag.Error = "Unable to add comment"; } return(View("Ticket_Reply", viewModel)); } } return(RedirectToAction("Index")); }
private void sendNotification(string requestlistID) { DataTable result = null; try { using (SqlConnection conPrintDB = new SqlConnection(ConfigurationManager.ConnectionStrings["printDBServer"].ConnectionString)) { string strSelect = "Select CustomerEmail, CustomerPhoneNo, CustomerContactMethod, CompanyName From Customer c, Request r, Requestlist rl, Company cp WHERE rl.RequestID = r.RequestID AND r.CustomerID = c.CustomerID AND r.CompanyID = cp.CompanyID AND rl.RequestlistID = @requestlistID"; using (SqlCommand cmdSelect = new SqlCommand(strSelect, conPrintDB)) { cmdSelect.Parameters.AddWithValue("@requestlistID", requestlistID); using (SqlDataAdapter da = new SqlDataAdapter(cmdSelect)) { result = new DataTable(); da.Fill(result); } //return new User((string)result.Rows[0]["ID"], (string)result.Rows[0]["Name"], GetUserRoles(username, loginType), (string)result.Rows[0]["Email"]); string contactNo = (string)result.Rows[0]["CustomerPhoneNo"]; string email = (string)result.Rows[0]["CustomerEmail"]; string contactMethod = (string)result.Rows[0]["CustomerContactMethod"]; string companyName = (string)result.Rows[0]["CompanyName"]; switch (contactMethod) { case "whatsapp": WhatappClass.sendWhatsappWithURL(contactNo, "Your Document is Printed and Ready", Response); break; case "wechat": case "E-mail": string emailContent = EmailClass.populateNotificationEmail(companyName);// content of the email EmailClass emailClass = new EmailClass(email, "Document is Printed and Ready", emailContent, true); if (EmailClass.isCredentialed()) { EmailCredential credential = (EmailCredential)Session["EmailCredential"]; emailClass.sendEmail(credential); } else { Session["tempEmail"] = emailClass; Response.Redirect(ResolveUrl("~/Staff/VerifyEmail.aspx?ReturnURL=" + Request.Url.AbsoluteUri)); } break; case "SMS": break; default: break; } } } } catch (Exception ex) { throw new Exception(ex.ToString()); } }
public ActionResult CreateTicket(HttpPostedFileBase file, TicketPost requestPost) { if (!ModelState.IsValid) { var message = string.Join(" | ", ModelState.Values .SelectMany(v => v.Errors) .Select(e => e.ErrorMessage)); Session["Error"] = message; return(RedirectToAction("Ticket")); } //save ticket Ticket ticketParam = new Ticket(); string name = null; string email = null; string phone = null; ticketParam.Title = requestPost.Title; ticketParam.Message = requestPost.Message; ticketParam.TicketId = RandomNumber() + RandomNumber(); ticketParam.Id = ticketParam.TicketId; ticketParam.SourceData = requestPost.type; ticketParam.Ticket_Status = 1; ticketParam.IGR_Code = Session["igr"].ToString(); ticketParam.Created_at = DateTime.Now; if (Session["temporary_tin"] == null) { ticketParam.TinId = Session["tinNo"].ToString(); name = Session["name"].ToString(); email = Session["email"].ToString(); phone = Session["phone"].ToString(); } else { ticketParam.TinId = Session["temporary_tin"].ToString(); name = Session["name"].ToString(); email = Session["email"].ToString(); phone = Session["phone"].ToString(); } try { var ticketPara = db.Ticket.Add(ticketParam); db.SaveChanges(); if (ticketPara != null) { EmailParam param = new EmailParam(); param.Email = "*****@*****.**"; param.SenderEmail = "*****@*****.**"; param.From = "Open Ticket for IGR"; param.Message = "Hi Admin,\n\nYou have a pending ticket with content below\n\nPlease login into support to respond ticket\n\n--------------\n\n" + requestPost.Message + "\n\n------------\n\nSender Name: " + name + "\nTinNo: " + ticketParam.TinId + "\nPhone: " + phone + "\nEmaill: " + email; EmailClass.sendEmail(EMAILAPI, param); } } catch (Exception ex) { Session["Error"] = ex.Message.ToString(); return(RedirectToAction("Ticket")); } foreach (string upload in Request.Files) { if (Request.Files[upload].ContentLength > 0) { var filename = ticketParam.TicketId + ".png"; var size = Request.Files[upload].ContentLength; if (size > 532000) { Session["Error"] = "File cannot be larger than 500KB"; return(RedirectToAction("Ticket")); } var FileExt = Request.Files[upload].ContentType; if (FileExt == "image/png" || FileExt == "image/jpeg") { var filePathOriginal = Server.MapPath("/Content/img"); var filePathThumbnail = Server.MapPath("/Content/img"); string savedFileName = Path.Combine(filePathOriginal, filename); Request.Files[upload].SaveAs(savedFileName); } else { Session["Error"] = "Please upload a .png or .jpeg format"; return(RedirectToAction("Ticket")); } } } Session["Sucess"] = "Ticket successfully opened"; return(RedirectToAction("Ticket")); }
protected void btnSubmit_Click(object sender, EventArgs e) { SqlConnection conPrintDB; string connStr = ConfigurationManager.ConnectionStrings["printDBServer"].ConnectionString; conPrintDB = new SqlConnection(connStr); conPrintDB.Open(); try { string strInsert; SqlCommand cmdInsert; strInsert = "Insert Into CompanyStaff (StaffName, StaffEmail, StaffPassword, StaffNRIC, StaffDOB, StaffPhoneNo, StaffSalt, StaffRole, CompanyID) Values (@staffName, @staffEmail,@staffPassword, @staffNRIC, @staffDOB, @staffPhoneNo, @staffSalt, @staffRole, @companayID); SELECT MAX(StaffID) from CompanyStaff where StaffName=@staffName and StaffPhoneNo=@staffPhoneNo"; byte[] generatedSalt = ClassHashing.generateSalt(); byte[] hashPassword = { 0, 0 };//empty password when checkbox for password setting is not checked if (chkPassSet.Checked) { hashPassword = ClassHashing.generateSaltedHash(txtPassword.Text, generatedSalt); } cmdInsert = new SqlCommand(strInsert, conPrintDB); cmdInsert.Parameters.AddWithValue("@staffName", txtName.Text); cmdInsert.Parameters.AddWithValue("@staffEmail", txtEmail.Text); cmdInsert.Parameters.AddWithValue("@staffPassword", hashPassword); cmdInsert.Parameters.AddWithValue("@staffNRIC", txtNRIC.Text); cmdInsert.Parameters.AddWithValue("@staffDOB", cldBOD.SelectedDate); cmdInsert.Parameters.AddWithValue("@staffPhoneNo", txtPhoneNo.Text); cmdInsert.Parameters.AddWithValue("@staffSalt", generatedSalt); cmdInsert.Parameters.AddWithValue("@staffRole", UserVerification.ROLE_STAFF); cmdInsert.Parameters.AddWithValue("@companayID", Request.Cookies["CompanyID"].Value); var staffID = cmdInsert.ExecuteScalar(); if (!chkPassSet.Checked) { string strSelect = "SELECT CompanyName FROM Company WHERE CompanyID = @companyID"; SqlCommand cmdSelect = new SqlCommand(strSelect, conPrintDB); cmdSelect.Parameters.AddWithValue("@companyID", Request.Cookies["CompanyID"].Value); var companyName = cmdSelect.ExecuteScalar(); string verificationCode = UserVerification.getVerificationCode(staffID + txtNRIC.Text, generatedSalt); //then it will generate a url to activate the account and send it to the staff string verificationLink = DOMAIN_NAME + Page.ResolveUrl("~/StaffAccountActivation.aspx?VC=" + HttpUtility.UrlEncode(verificationCode)); string emailContent = EmailClass.populateActivationEmail((string)companyName, verificationLink);// content of the email EmailClass emailClass = new EmailClass(txtEmail.Text, "Staff Account Activation", emailContent, true); if (EmailClass.isCredentialed()) { EmailCredential credential = (EmailCredential)Session["EmailCredential"]; emailClass.sendEmail(credential); } else { Session["tempEmail"] = emailClass; Response.Redirect(ResolveUrl("~/Staff/VerifyEmail.aspx?ReturnURL=" + Request.Url.AbsoluteUri)); } } lblError.Text = "Successfully added"; } catch (Exception ex) { lblError.Text = "An error occured when register staff :" + ex.ToString(); } finally { conPrintDB.Close(); } }