Example #1
0
        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);
                }
            }
        }
Example #2
0
        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);
        }
Example #3
0
        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");
            //}
        }
Example #4
0
        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));
        }