Exemplo n.º 1
0
        public ActionResult Quotation(QuotationModel model, TicketModel model1, TicketTranModel model2)
        {
            QuotationService objService    = new QuotationService();
            QuotationModel   objModel      = new QuotationModel();
            TicketModel      TCobjModel    = new TicketModel();
            TicketService    TicobjService = new TicketService();
            int uid  = 0;
            int?dcid = 0;

            if (Session["UID"] != null)
            {
                model.Prefix  = "REQ";
                model1.Prefix = "REQ";
                model2.Prefix = "REQ";
                uid           = Convert.ToInt32(Session["UID"].ToString());
                if (model.DataCenterOther != null)
                {
                    dcid = model.DataCenterOther;
                }
                else
                {
                    dcid = model.DataCenter;
                }
                model.DataCenter  = dcid;
                model.IsActive    = true;
                model.CreatedDate = System.DateTime.Now;
                if (model.CreatedBy == null)
                {
                    model.CreatedBy = uid;
                }
                if (model.ServiceReq == null && model.CableSource != null)
                {
                    model1.Subject     = "Cable Quotation";
                    model1.Description = model.CableType;
                    model2.Comment     = model.CableType;
                }
                else
                {
                    model1.Subject     = "Other Quotation";
                    model1.Description = model.ServiceReq;
                    model2.Comment     = model.ServiceReq;
                }
                if (model.CreatedBy == null)
                {
                    model1.CreatedBy = uid;
                }
                else
                {
                    model1.CreatedBy = model.CreatedBy;
                }
                model1.CreatedDate    = System.DateTime.Now;
                model1.IsActive       = true;
                model1.TicketTypeID   = 1;
                model1.TicketStatusID = 1;
                model1.Priority       = 4;

                TCobjModel = TicobjService.GetLastID();
                var dateTimeNow    = DateTime.Now;
                var dateOnlyString = dateTimeNow.ToShortDateString();
                //DateTime dt = DateTime.ParseExact(objModel.CreatedDate.ToString(), "yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture);
                //string createddt = dt.ToString("dd/M/yyyy", CultureInfo.InvariantCulture);

                DateTime dt        = DateTime.Parse(objModel.CreatedDate.ToString());
                string   createddt = dt.ToString("dd-MMM-yy", CultureInfo.InvariantCulture);
                if (createddt == dateOnlyString)
                {
                    model1.TicketID = TCobjModel.TicketID + 1;
                }
                else
                {
                    model1.TicketID = TCobjModel.TicketID + 38;
                }

                int           tid         = objService.Insert(model, model1);
                TicketService objService1 = new TicketService();
                model2.TicketID = tid;

                if (model.CreatedBy == null)
                {
                    model2.CreatedBy = uid;
                }
                else
                {
                    model2.CreatedBy = model.CreatedBy;
                }
                model2.CreatedDate = System.DateTime.Now;
                objService1.InsertTicketTran(model2);

                try
                {
                    var user = Dbcontext.UserMasters.Where(m => m.UID == model.CreatedBy).SingleOrDefault();
                    var comp = Dbcontext.CompanyMasters.Where(m => m.CompID == user.CompID).SingleOrDefault();
                    //var fromAddress = new MailAddress("*****@*****.**", comp.Name);
                    //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                    var fromAddress = new MailAddress("*****@*****.**", comp.Name);
                    var toAddress   = new MailAddress("*****@*****.**", "Administrator of Techflow");
                    //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                    const string fromPassword = "******";
                    var          dc           = Dbcontext.DataCenterMasters.Where(m => m.DCID == dcid).SingleOrDefault();

                    string subject     = "Quotation Request " + model.Prefix + "" + tid;
                    string ReqDelDate  = "";
                    string dateQ       = "";
                    string dateService = "";
                    if (model.ReqDelDate != null)
                    {
                        ReqDelDate = model.ReqDelDate.Value.ToString("dd/MM/yyyy");
                    }
                    if (model.DateForQuote != null)
                    {
                        dateQ = model.DateForQuote.Value.ToString("dd/MM/yyyy");
                    }
                    if (model.DateForService != null)
                    {
                        dateService = model.DateForService.Value.ToString("dd/MM/yyyy");
                    }
                    StringBuilder sb = new StringBuilder();
                    sb.Append("<html>");
                    sb.Append("<Body>");
                    sb.Append("<table><tr><td><b>Dear Techflow Administrator,</b></td></tr><tr><td><br/><b>Created By : </b></td><td>" + user.Title + ' ' + user.FirstName + ' ' + user.LastName + "</td></tr><tr><td><b>Source of Cable : </b></td><td>" + model.CableSource + "</td></tr><tr><td><b>Destination of Cable : </b></td><td>" + model.CableDest + "</td></tr><tr><td><b>Type of Cable : </b></td><td>" + model.CableType + "</td></tr><tr><td><b>Cable Termination at Source : </b></td><td>" + model.TerminationSource + "</td></tr><tr><td><b>Cable Termination at Destination : </b></td><td>" + model.TerminationDest + "</td></tr><tr><td><b>Rquested Delivery Date : </b></td><td>" + ReqDelDate + "</td></tr><tr><td><b>Premium Service Required : </b></td><td>" + model.IsPremium + "</td></tr><tr><td><b>Patch Panel : </b></td><td>" + model.PatchPanel + "</td></tr><tr><td><b>Media Converter : </b></td><td>" + model.MediaConverter + "</td></tr><tr><td><b>Additional Comments : </b></td><td>" + model.Comments + "</td></tr><tr><td><b>Details of Service : </b></td><td>" + model.ServiceReq + "</td></tr><tr><td><b>Requested Date for Quote : </b></td><td>" + dateQ + "</td></tr><tr><td><b>Requested Date for Service : </b></td><td>" + dateService + "</td></tr><tr><td><br/><b>Thanks and Regards,</b><br/></td></tr><tr><td>" + user.FirstName + ' ' + user.LastName + "</td></tr></table>");
                    sb.Append("</Body>");
                    sb.Append("</html>");

                    string body = sb.ToString();

                    var smtp = new SmtpClient
                    {
                        //Host = "smtp.mail.yahoo.com",
                        //Port = 25,
                        //EnableSsl = true,
                        //DeliveryMethod = SmtpDeliveryMethod.Network,
                        //UseDefaultCredentials = false,
                        //Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
                        Host                  = "smtp.gmail.com",
                        Port                  = 587,
                        EnableSsl             = true,
                        DeliveryMethod        = SmtpDeliveryMethod.Network,
                        UseDefaultCredentials = false,
                        Credentials           = new NetworkCredential(fromAddress.Address, fromPassword)
                    };
                    using (var message = new MailMessage(fromAddress, toAddress)
                    {
                        Subject = subject,
                        Body = body
                    })
                    {
                        message.IsBodyHtml = true;
                        //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Distributer Order"));
                        //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Dhrumil"));
                        //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Info-Sugam Health Care"));
                        smtp.Send(message);
                        TempData["Msg"] = "Quotation Successfully Sent.";
                    }
                }
                catch (Exception ex)
                {
                    TempData["Msg"] = "Sorry!!Quotation not sent try after some time.";
                }
            }
            return(RedirectToAction("Quotation"));
        }