示例#1
0
        public ActionResult GenerateBarcode()
        {
            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;


            Random r = new Random();

            randumNum = r.Next(1000);


            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));



            return(new FileStreamResult(memStream, "image/png"));
        }
        public ActionResult GenerateBarcode()
        {
            BarCodeSoapClient bc = new 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;

            Random r = new Random();
            randomNum = r.Next(1000);

            Byte[] imgBarcode = bc.GenerateBarCode(barCodeData, randomNum.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));

            return new FileStreamResult(memStream, "image/png");
        }
        public ActionResult ReportFault(GenerateFaultModel model, int pID)
        {
            try
            {
                if (Session["accountID"] != null)
                {
                    int ticketNumber;
                    bool available = false;

                    do
                    {
                        ticketNumber = new FaultClient().GenerateRandomNumber();
                        if (new FaultClient().GetFaultByTicketNumber(ticketNumber) != null)
                        {
                            ticketNumber = new FaultClient().GenerateRandomNumber();
                            available = false;
                        }
                        else
                        {
                            available = true;
                        }
                    }
                    while (!available);

                    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 = new BarCodeSoapClient().GenerateBarCode(barCodeData, randomNum.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));

                    Fault fault = new Fault();
                    fault.TicketNumber = ticketNumber;
                    fault.ProductID = pID;
                    fault.AccountID = (int)Session["accountID"];
                    fault.Barcode = imgBarcode;

                    new FaultClient().AddFault(fault);

                    FaultLog faultLog = new FaultLog();
                    faultLog.FaultID = new FaultClient().GetFaultByTicketNumber(ticketNumber).ID;
                    faultLog.Description = model.Description;
                    faultLog.DateOfReport = DateTime.Today;
                    faultLog.Status = "Reported";

                    new FaultClient().AddFaultLog(faultLog);
                    User user = new UserAccountClient().GetUserByAccountID((int)Session["accountID"]);

                    memStream.Position = 0;
                    string body = string.Format(@"Dear " + user.Name + " " + user.Surname + ",<br /><br />A new fault report has been made."+
                            "Please find attached your barcode image. <br />Ticket Number: " + ticketNumber + "<br /><br />Regards,<br />Electros Ltd. Staff");

                    //SEND EMAIL HERE
                    MailMessage newMessage = new MailMessage();

                    newMessage.From = new MailAddress("*****@*****.**");
                    newMessage.To.Add(new MailAddress(user.Email));
                    newMessage.Subject = "Fault Report";
                    newMessage.Attachments.Add(new Attachment(memStream, "Barcodeimg.jpg", "image/jpg"));
                    newMessage.IsBodyHtml = true;
                    newMessage.Body = body;
                    SmtpClient smtpClient = new SmtpClient("smtp.go.net.mt");
                    smtpClient.Send(newMessage);

                    return RedirectToAction("Index", "GenerateFault");
                }
                else
                {
                    return RedirectToAction("Login", "Login");
                }
            }
            catch (Exception e)
            {
                ViewBag.Error = "An error has occured.";
                return RedirectToAction("Index", "GenerateFault");
            }
        }
示例#4
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");
            //}
        }