public void SendEmailtoClient(int reportID) { FaultReport fr = new FaultsServ.FaultReportLogServiceClient().getFaultByID(reportID); int accountID = (int)fr.AccountID; Common.User details = new UserServ.UserServiceClient().getUSerByAccountID(accountID); string body = "Dear " + "\n" + details.Name + " " + details.Surname; body += "<br />"; body += " your ticket : " + fr.TicketNum + " regarding the fault has been updated"; using (MailMessage mail = new MailMessage()) { mail.From = new MailAddress(emailFrom); mail.To.Add(details.Email); mail.Subject = subject; mail.IsBodyHtml = true; mail.Body = body; using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber)) { smtp.Credentials = new NetworkCredential(emailFrom, password); smtp.EnableSsl = enableSSL; smtp.Send(mail); } } }
public ActionResult ShowReport(int productID, int orderID, string dateF, string dateT) { ReportModel model = new ReportModel(); ViewBag.Title = "Electros"; string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; Order o = new ProductOrderServ.ProductOrderClient().getOrderByIDs(accountID, orderID); Product p = new ProductServ.ProductServiceClient().GetProductByID(productID); List <FaultReport> fr = new FaultsServ.FaultReportLogServiceClient().getFaultByAccountIDPRoductID(accountID, productID).ToList(); model.myFaultReport = fr; List <FaultLog> faultLogList = new List <FaultLog>(); foreach (FaultReport f in fr) { List <FaultLog> flTemp = new FaultsServ.FaultReportLogServiceClient().getFaultLogByReportID(f.ID).ToList(); foreach (FaultLog fl in flTemp) { //faultLogList.Add(fl); model.myFaultLog = flTemp; } } if (model.myFaultLog == null) { TempData["NoFault"] = "The item selected has no faults"; return(RedirectToAction("UserHistory")); } model.myProduct = p; //model.myFaultReport = fr; //model.myFaultLog = faultLogList; model.myOrder = o; //model.from = Convert.ToDateTime(TempData["StoreDataFrom"]) ; //model.to = Convert.ToDateTime(TempData["StoreDataTo"]); model.from = Convert.ToDateTime(dateF); model.to = Convert.ToDateTime(dateT); sendEmailToClient(accountID, model); return(new RazorPDF.PdfResult(model, "ShowReport")); //return View(model); }
public ActionResult GenerateTicket(FaultModel fm, int pid) { //try //{ string username = Session["username"].ToString(); Account a = new AccountServ.AccountServiceClient().getAccountByUsername(username); int accountID = a.ID; int ticketNum = new FaultsServ.FaultReportLogServiceClient().GenerateTicketNum(); FaultReport checkTicketnum = new FaultsServ.FaultReportLogServiceClient().getTicketNum(ticketNum); if (checkTicketnum == null) { //FaultReport FaultReport fr = new FaultReport(); //fr.ID = new int(); fr.TicketNum = ticketNum; //add barcode BarCodeServ.BarCodeSoapClient bc = new BarCodeServ.BarCodeSoapClient(); BarCodeData barCodeData = new BarCodeData(); barCodeData.Height = 125; barCodeData.Width = 225; barCodeData.Angle = 0; barCodeData.Ratio = 5; barCodeData.Module = 0; barCodeData.Left = 25; barCodeData.Top = 0; barCodeData.CheckSum = false; barCodeData.FontName = "Arial"; barCodeData.BarColor = "Black"; barCodeData.BGColor = "White"; barCodeData.FontSize = 10.0f; barCodeData.barcodeOption = BarcodeOption.Both; barCodeData.barcodeType = BarcodeType.Code_2_5_interleaved; barCodeData.checkSumMethod = CheckSumMethod.None; barCodeData.showTextPosition = ShowTextPosition.BottomCenter; barCodeData.BarCodeImageFormat = ImageFormats.PNG; Byte[] imgBarcode = bc.GenerateBarCode(barCodeData, randumNum.ToString()); MemoryStream memStream = new MemoryStream(imgBarcode); Bitmap bm = new Bitmap(memStream); bm.Save(HttpContext.Response.OutputStream, ImageFormat.Jpeg); System.Drawing.Image image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(imgBarcode)); //end of barcode method fr.Barcode = imgBarcode; fr.ProductID = pid; fr.AccountID = accountID; new FaultsServ.FaultReportLogServiceClient().Create(fr); //FaultLog FaultReport details = new FaultsServ.FaultReportLogServiceClient().getFaultReportIDByAccountIDTicket(accountID, ticketNum); FaultLog fl = new FaultLog(); fl.Status = "Reported"; fl.Description = fm.Description; fl.DateReport = System.DateTime.Now; fl.FaultReportID = details.ID; new FaultsServ.FaultReportLogServiceClient().CreateLog(fl); SendEmailToClient(accountID, image, pid, memStream, Convert.ToInt32(fr.TicketNum)); //SendEmailToClient(accountID, memStream,pid); return(RedirectToAction("Index", "Warranty")); } else { //show error ViewBag.Msg = "An error was encountered during the generation of the ticket"; } return(RedirectToAction("Index", "Warranty")); //} //catch (Exception ex) //{ // TempData["CatchError"] = "An error was encountered. Please try again later"; // return RedirectToAction("Index", "Warranty"); //} }
public ActionResult Search(string accountID, string faultID, string dateFrom, string dateTo) { //if(accountID != null && faultID == null && dateFrom == null && dateTo == null) if ((accountID != null || accountID != "") && (faultID == null || faultID == "") && (dateFrom == null || dateFrom == "") && (dateTo == null || dateTo == "")) { try { int aID = Convert.ToInt32(accountID); List <FaultReport> fr = new FaultsServ.FaultReportLogServiceClient().getFaultReportIDByAccountID(aID).ToList(); foreach (FaultReport f in fr) { List <FaultLog> flTemp = new FaultsServ.FaultReportLogServiceClient().getFaultLogByReportID(f.ID).ToList(); foreach (FaultLog fl in flTemp) { faultLog.Add(fl); } } } catch (Exception ex) { TempData["TypeError"] = "The ID is incorrect format or null (11)"; return(View("Index", fl)); } } else if ((accountID == null || accountID == "") && (faultID != null || faultID != "") && (dateFrom == null || dateFrom == "") && (dateTo == null || dateTo == "")) { try { int fID = Convert.ToInt32(faultID); List <FaultLog> flTemp = new FaultsServ.FaultReportLogServiceClient().getFaultLogByReportID(fID).ToList(); foreach (FaultLog fl in flTemp) { faultLog.Add(fl); } } catch (Exception ex) { TempData["TypeError"] = "The ID is incorrect format or null (11)"; return(View("Index", fl)); } } else if ((accountID == null || accountID == "") && (faultID == null || faultID == "") && (dateFrom != null || dateFrom != "") && (dateTo != null || dateTo != "")) { try { DateTime from = Convert.ToDateTime(dateFrom); DateTime to = Convert.ToDateTime(dateTo); List <FaultLog> flTemp = new FaultsServ.FaultReportLogServiceClient().searchLogByDates(from, to).ToList(); foreach (FaultLog fl in flTemp) { faultLog.Add(fl); } } catch (Exception ex) { TempData["DatesError"] = "The Dates are incorrect format or null (2014/12/12)"; return(View("Index", fl)); } } else if ((accountID != null || !accountID.Equals("")) && (faultID != null || !faultID.Equals("")) && (dateFrom != null || !dateFrom.Equals("")) && (dateTo != null || !dateTo.Equals(""))) { try { DateTime from = Convert.ToDateTime(dateFrom); DateTime to = Convert.ToDateTime(dateTo); int aID = Convert.ToInt32(accountID); int fID = Convert.ToInt32(faultID); faultLog = new FaultsServ.FaultReportLogServiceClient().search(aID, fID, from, to).ToList(); } catch (Exception ex) { TempData["TypeError"] = "The Dates and ID's are incorrect format or null (2014/12/12)"; return(View("Index", fl)); } } // List<FaultLog> fl = new FaultsServ.FaultReportLogServiceClient().getFaultLogByReportID return(View("Index", faultLog)); }