Exemplo n.º 1
0
 public ActionResult Index(TicketModel model)
 {
     try
     {
         //int status = Convert.ToInt32(All["ddlStatus"]);
         //int tid = Convert.ToInt32(All["TicketID"]);
         int uid = 0;
         if (Session["UID"] != null)
         {
             uid = Convert.ToInt32(Session["UID"].ToString());
         }
         TicketMaster tm = Dbcontext.TicketMasters.Where(m => m.TicketID == model.TicketID).SingleOrDefault();
         tm.TicketStatusID = model.TicketStatusID;
         tm.UpdatedDate    = System.DateTime.Now;
         tm.UpdatedBy      = uid;
         Dbcontext.SaveChanges();
         TempData["AMsg"] = "Status updated successfully.";
     }
     catch (Exception ex)
     {
         TempData["AMsg"] = "Status Not Updated";
     }
     //return Content("<script language='javascript' type='text/javascript'>alert('Status updated successfully.');</script>");
     return(RedirectToAction("Index"));
 }
Exemplo n.º 2
0
        public TicketModel GetLastID()
        {
            Mapper.CreateMap <TicketMaster, TicketModel>();
            TicketMaster objCityMaster = Dbcontext.TicketMasters.OrderByDescending(p => p.TicketID).FirstOrDefault();
            TicketModel  objCityItem   = Mapper.Map <TicketModel>(objCityMaster);

            return(objCityItem);
        }
Exemplo n.º 3
0
 public int InsertTicket(TicketModel model)
 {
     try
     {
         Mapper.CreateMap <TicketModel, TicketMaster>();
         TicketMaster objUser = Mapper.Map <TicketMaster>(model);
         Dbcontext.TicketMasters.Add(objUser);
         Dbcontext.SaveChanges();
         int tid = Dbcontext.TicketMasters.Max(m => m.TicketID);
         return(tid);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 4
0
        public int Insert(QuotationModel model, TicketModel model1)
        {
            try
            {
                Mapper.CreateMap <TicketModel, TicketMaster>();
                TicketMaster objTicket = Mapper.Map <TicketMaster>(model1);
                Dbcontext.TicketMasters.Add(objTicket);
                Dbcontext.SaveChanges();

                int tid = Dbcontext.TicketMasters.Max(m => m.TicketID);

                Mapper.CreateMap <QuotationModel, QuotationMaster>();
                QuotationMaster objUser = Mapper.Map <QuotationMaster>(model);
                objUser.TicketID = tid;
                Dbcontext.QuotationMasters.Add(objUser);
                Dbcontext.SaveChanges();
                return(tid);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 5
0
 public App()
 {
     tm3000 = new TicketMaster();
 }
Exemplo n.º 6
0
        public ActionResult Replay(HttpPostedFileBase[] files, TicketTranModel model, TicketModel model1)
        {
            TicketService objService = new TicketService();
            int           uid        = 0;
            int           rid        = 0;

            if (Session["UID"] != null)
            {
                uid = Convert.ToInt32(Session["UID"].ToString());
                rid = Convert.ToInt32(Session["Role"].ToString());
                TicketMaster tm = Dbcontext.TicketMasters.Where(m => m.TicketID == model1.TicketID).SingleOrDefault();

                //mailto CA



                if (model1.TicketStatusID != null)
                {
                    var status = Dbcontext.TicketMasters.Where(m => m.TicketID == model.TicketID && m.TicketStatusID == model1.TicketStatusID).SingleOrDefault();
                    if (status == null)
                    {
                        try
                        {
                            var cby     = Dbcontext.UserMasters.Where(m => m.UID == tm.CreatedBy).SingleOrDefault();
                            var user    = Dbcontext.UserMasters.Where(m => m.CompID == @cby.CompID && m.Role == 2).ToList();
                            int adminID = 0;
                            if (Session["UID"] != null)
                            {
                                adminID = Convert.ToInt32(Session["UID"].ToString());
                            }
                            var    admin    = Dbcontext.UserMasters.Where(m => m.UID == adminID).SingleOrDefault();
                            string priority = "";
                            if (model1.Priority == 1)
                            {
                                priority = "High";
                            }
                            else if (model1.Priority == 2)
                            {
                                priority = "Medium";
                            }
                            else
                            {
                                priority = "Normal";
                            }
                            var comp        = Dbcontext.CompanyMasters.Where(m => m.CompID == cby.CompID).SingleOrDefault();
                            var fromAddress = new MailAddress("*****@*****.**", "Newtech Ticketing Soultion");
                            var toAddress   = new MailAddress(@user[0].Email, @user[0].FirstName + ' ' + @user[0].LastName);
                            //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            const string fromPassword = "******";
                            var          tt           = Dbcontext.TicketTypeMasters.Where(a => a.TicketTypeID == tm.TicketTypeID).SingleOrDefault();
                            var          bts          = Dbcontext.TicketStatusMasters.Where(m => m.TicketStatusID == tm.TicketStatusID).SingleOrDefault();
                            var          ats          = Dbcontext.TicketStatusMasters.Where(m => m.TicketStatusID == model1.TicketStatusID).SingleOrDefault();
                            int          tid          = tm.TicketID;
                            string       ticketID     = tm.Prefix + "" + tm.TicketID;

                            string        subject = "Status Changed from " + bts.TicketStatus + " To " + ats.TicketStatus + " of " + ticketID;
                            StringBuilder sb      = new StringBuilder();
                            sb.Append("<html>");
                            sb.Append("<Body>");
                            sb.Append("<table><tr><td><b>Dear sir/madam,</b></td></tr><tr><td><br/><b>Ticket Created By : </b></td><td><br/>" + cby.Title + ' ' + cby.FirstName + ' ' + cby.LastName + "</td></tr><tr><td><b>Ticket ID : </b></td><td>" + ticketID + "</td></tr><tr><td><b>Description : </b></td><td>" + tm.Description + "</td></tr><tr><td><b>Ticket Type : </b></td><td>" + tt.TicketType + "</td></tr><tr><td><b>Ticket Priority : </b></td><td>" + priority + "</td></tr><tr><td><br/><b>Thanks and Regards,</b><br/></td></tr><tr><td>" + admin.Title + ' ' + admin.FirstName + ' ' + admin.LastName + "</td></tr><tr><td>Newtech Infosoft Pvt. Ltd.</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)
                            };
                            using (var message = new MailMessage(fromAddress, toAddress)
                            {
                                Subject = subject,
                                Body = body
                            })
                            {
                                //foreach (HttpPostedFileBase file in files)
                                //{
                                //    if (file != null)
                                //    {
                                //        string fileName = Path.GetFileName(file.FileName);
                                //        message.Attachments.Add(new Attachment(file.InputStream, fileName));
                                //    }
                                //}
                                message.IsBodyHtml = true;

                                //var user = Dbcontext.UserMasters.Where(m => m.CompID == @cby.CompID && m.Role == 2).ToList();
                                //foreach (var u in user)
                                //{
                                //    message.CC.Add(new MailAddress(Convert.ToString(u.Email), u.FirstName));
                                //}

                                //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Info-Sugam Health Care"));
                                smtp.Send(message);
                                TempData["Msg"] = "Mail Successfully Sent.";
                            }
                        }
                        catch (Exception ex)
                        {
                            TempData["Msg"] = "Sorry!!Mail not sent.";
                        }
                    }
                }

                if (model1.AssignTo != null)
                {
                    var assign = Dbcontext.TicketMasters.Where(m => m.AssignTo == model.AssignTo && m.TicketID == model.TicketID).SingleOrDefault();
                    if (assign == null)
                    {
                        try
                        {
                            var user    = Dbcontext.UserMasters.Where(m => m.UID == model.AssignTo).SingleOrDefault();
                            var cby     = Dbcontext.UserMasters.Where(m => m.UID == tm.CreatedBy).SingleOrDefault();
                            int adminID = 0;
                            if (Session["UID"] != null)
                            {
                                adminID = Convert.ToInt32(Session["UID"].ToString());
                            }
                            var    admin    = Dbcontext.UserMasters.Where(m => m.UID == adminID).SingleOrDefault();
                            string priority = "";
                            if (model1.Priority == 1)
                            {
                                priority = "High";
                            }
                            else if (model1.Priority == 2)
                            {
                                priority = "Medium";
                            }
                            else
                            {
                                priority = "Normal";
                            }
                            //var comp = Dbcontext.CompanyMasters.Where(m => m.CompID == user.CompID).SingleOrDefault();
                            var fromAddress = new MailAddress("*****@*****.**", "Newtech Infosoft Pvt. Ltd.");
                            var toAddress   = new MailAddress(@user.Email, @user.FirstName);
                            //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            const string fromPassword = "******";
                            var          tt           = Dbcontext.TicketTypeMasters.Where(a => a.TicketTypeID == tm.TicketTypeID).SingleOrDefault();
                            int          tid          = tm.TicketID;
                            string       ticketID     = tm.Prefix + "" + model.TicketID;

                            string        subject = "New Ticket-" + tm.Subject;
                            StringBuilder sb      = new StringBuilder();
                            sb.Append("<html>");
                            sb.Append("<Body>");
                            sb.Append("<table><tr><td><b>Dear " + user.Title + ' ' + @user.FirstName + ' ' + @user.LastName + ",</b></td></tr><tr><td><br/><b>Ticket Created By : </b></td><td><br/>" + cby.Title + ' ' + cby.FirstName + ' ' + cby.LastName + "</td></tr><tr><td><b>Ticket ID : </b></td><td>" + ticketID + "</td></tr><tr><td><b>Description : </b></td><td>" + tm.Description + "</td></tr><tr><td><b>Ticket Type : </b></td><td>" + tt.TicketType + "</td></tr><tr><td><b>Ticket Priority : </b></td><td>" + priority + "</td></tr><tr><td><br/><b>Thanks and Regards,</b><br/></td></tr><tr><td>" + admin.Title + ' ' + admin.FirstName + ' ' + admin.LastName + "</td></tr><tr><td>Newtech Infosoft Pvt. Ltd.</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)
                            };
                            using (var message = new MailMessage(fromAddress, toAddress)
                            {
                                Subject = subject,
                                Body = body
                            })
                            {
                                //foreach (HttpPostedFileBase file in files)
                                //{
                                //    if (file != null)
                                //    {
                                //        string fileName = Path.GetFileName(file.FileName);
                                //        message.Attachments.Add(new Attachment(file.InputStream, fileName));
                                //    }
                                //}
                                message.IsBodyHtml = true;

                                message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Kuldip"));
                                //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Info-Sugam Health Care"));
                                smtp.Send(message);
                                TempData["Msg"] = "Mail sent successfully.";
                            }
                        }
                        catch (Exception ex)
                        {
                            TempData["Msg"] = "Sorry!!Mail not sent.";
                        }
                    }
                }

                //mail to CA end


                tm.TicketStatusID = model1.TicketStatusID;
                tm.UpdatedDate    = System.DateTime.Now;
                tm.UpdatedBy      = uid;
                tm.AssignTo       = model1.AssignTo;
                Dbcontext.SaveChanges();

                if (files != null)
                {
                    //string k = objService.Getid();
                    //int s = Convert.ToInt32(k);
                    //string strtext = "Customer";
                    foreach (HttpPostedFileBase file in files)
                    {
                        if (file != null)
                        {
                            string filename   = System.IO.Path.GetFileName(file.FileName);
                            string folderPath = Server.MapPath("~/Attachment/") + model.TicketID;
                            //  obj.EmpId = Convert.ToInt32(Url.RequestContext.RouteData.Values["id"].ToString());
                            string destinationPath    = folderPath;
                            string employeeFolderPath = destinationPath;
                            // create folder if it is not exist
                            if (!Directory.Exists(folderPath))
                            {
                                Directory.CreateDirectory(folderPath);
                                if (!Directory.Exists(employeeFolderPath))
                                {
                                    Directory.CreateDirectory(employeeFolderPath);
                                    // create emp id folder of not exist
                                }
                            }
                            else
                            {
                                if (!Directory.Exists(employeeFolderPath))
                                {
                                    Directory.CreateDirectory(employeeFolderPath);
                                    // create emp id folder of not exist
                                }
                            }
                            destinationPath = employeeFolderPath;
                            /*Saving the file in server folder*/
                            //file.SaveAs(Server.MapPath("~/Images/" + filename));
                            string fileNewName = Guid.NewGuid() + Path.GetExtension(file.FileName);

                            file.SaveAs(Path.Combine(destinationPath, fileNewName));

                            //objModel.CID = Convert.ToInt32(s);
                            model.FileURL     = Path.Combine("/Attachment/" + model.TicketID + "/", fileNewName);
                            model.FileName    = Path.GetFileNameWithoutExtension(file.FileName);
                            model.TicketID    = model1.TicketID;
                            model.Prefix      = model1.Prefix;
                            model.Comment     = model1.Comment;
                            model.CreatedBy   = model.CreatedBy;
                            model.CreatedDate = model.CreatedDate;
                            model.ReplayBy    = uid;
                            model.ReplayDate  = System.DateTime.Now;
                            objService.InsertTicketTran(model);
                            //objModel.BID = Convert.ToInt32(Session["BranchID"].ToString());
                            //objService.InsertTicketAttachment(model1);

                            //string filepathtosave = "Images/" + filename;
                            /*HERE WILL BE YOUR CODE TO SAVE THE FILE DETAIL IN DATA BASE*/
                        }
                        else if (model1.Comment != null)
                        {
                            model.TicketID    = model1.TicketID;
                            model.Prefix      = model1.Prefix;
                            model.Comment     = model1.Comment;
                            model.CreatedBy   = model.CreatedBy;
                            model.CreatedDate = model.CreatedDate;
                            model.ReplayBy    = uid;
                            model.ReplayDate  = System.DateTime.Now;
                            objService.InsertTicketTran(model);
                        }
                        else
                        {
                            TempData["AMsg"] = "Status updated.But message not sent, Enter your message or Attach any files in attachment.";
                        }
                    }
                }
                if (model1.Comment != null || files[0] != null)
                {
                    try
                    {
                        if (rid != 1)
                        {
                            //var user = Dbcontext.UserMasters.Where(m => m.UID == model.ReplayBy).SingleOrDefault();
                            //var comp = Dbcontext.CompanyMasters.Where(m => m.CompID == user.CompID).SingleOrDefault();
                            //var ts = Dbcontext.TicketStatusMasters.Where(m => m.TicketStatusID == model1.TicketStatusID).SingleOrDefault();
                            //var fromAddress = new MailAddress("*****@*****.**", comp.Name);
                            //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            ////var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            //const string fromPassword = "******";

                            //var ticket = Dbcontext.TicketMasters.Where(m => m.TicketID == model1.TicketID).SingleOrDefault();
                            //string subject = ticket.Subject;
                            //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>Ticket ID : </b></td><td><br/>" + model.Prefix + "" + model.TicketID + "</td></tr><tr><td><b>Reply By : </b></td><td>" + user.Title + ' ' + user.FirstName + ' ' + user.LastName + "</td></tr><tr><td><b>Ticket Status : </b></td><td>" + ts.TicketStatus + "</td></tr><tr><td><b>Comment : </b></td><td>" + model.Comment + "</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)
                            //};
                            //using (var message = new MailMessage(fromAddress, toAddress)
                            //{

                            //    Subject = subject,
                            //    Body = body
                            //})
                            //{
                            //    foreach (HttpPostedFileBase file in files)
                            //    {
                            //        if (file != null)
                            //        {
                            //            string fileName = Path.GetFileName(file.FileName);
                            //            message.Attachments.Add(new Attachment(file.InputStream, fileName));
                            //        }
                            //    }
                            //    message.IsBodyHtml = true;

                            //    message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Kuldip"));
                            //    //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Info-Sugam Health Care"));
                            //    smtp.Send(message);
                            //    TempData["Msg"] = "Your Reply Successfully Sent.";
                            //}
                        }
                        else
                        {
                            //var user = Dbcontext.UserMasters.Where(m => m.UID == model1.CreatedBy).SingleOrDefault();
                            //var fromAddress = new MailAddress("*****@*****.**", "Techflow Administrator");
                            ////var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            //var toAddress = new MailAddress(user.Email, user.FirstName+" "+user.LastName);
                            //const string fromPassword = "******";

                            //var ticket = Dbcontext.TicketMasters.Where(m => m.TicketID == model1.TicketID).SingleOrDefault();
                            //string subject = ticket.Subject;
                            //StringBuilder sb = new StringBuilder();
                            //sb.Append("<html>");
                            //sb.Append("<Body>");
                            //sb.Append("<table><tr><td><b>Dear User,</b></td></tr><tr><td><br/><b>Ticket ID : </b></td><td><br/>" + model.Prefix + "" + model.TicketID + "</td></tr><tr><td><b>Reply By : </b></td><td>Techflow Administrator</td></tr><tr><td><b>Comment : </b></td><td>" + model.Comment + "</td></tr><tr><td><br/><b>Thanks and Regards,</b><br/></td></tr><tr><td>Techflow</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)
                            //};
                            //using (var message = new MailMessage(fromAddress, toAddress)
                            //{

                            //    Subject = subject,
                            //    Body = body
                            //})
                            //{
                            //    foreach (HttpPostedFileBase file in files)
                            //    {
                            //        if (file != null)
                            //        {
                            //            string fileName = Path.GetFileName(file.FileName);
                            //            message.Attachments.Add(new Attachment(file.InputStream, fileName));
                            //        }
                            //    }
                            //    message.IsBodyHtml = true;

                            //    message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Kuldip"));
                            //    //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Info-Sugam Health Care"));
                            //    smtp.Send(message);
                            //    TempData["Msg"] = "Your Reply Successfully Sent.";
                            //}
                        }
                    }
                    catch (Exception ex)
                    {
                        TempData["Msg"] = "Sorry!!Reply not sent try after some time.";
                    }
                }
            }
            return(RedirectToAction("Replay", new { @id = TempData["tid"], @uid = TempData["uid"] }));
        }
Exemplo n.º 7
0
        public ActionResult Replay(HttpPostedFileBase[] files, TicketTranModel model, TicketModel model1)
        {
            TicketService objService = new TicketService();
            int           uid        = 0;
            int           rid        = 0;

            if (Session["UID"] != null)
            {
                uid = Convert.ToInt32(Session["UID"].ToString());
                rid = Convert.ToInt32(Session["Role"].ToString());
                TicketMaster tm = Dbcontext.TicketMasters.Where(m => m.TicketID == model1.TicketID).SingleOrDefault();
                tm.TicketStatusID = model1.TicketStatusID;
                tm.UpdatedDate    = System.DateTime.Now;
                tm.UpdatedBy      = uid;
                Dbcontext.SaveChanges();

                if (files != null)
                {
                    //string k = objService.Getid();
                    //int s = Convert.ToInt32(k);
                    //string strtext = "Customer";
                    foreach (HttpPostedFileBase file in files)
                    {
                        if (file != null)
                        {
                            string filename   = System.IO.Path.GetFileName(file.FileName);
                            string folderPath = Server.MapPath("~/Attachment/") + model.TicketID;
                            //  obj.EmpId = Convert.ToInt32(Url.RequestContext.RouteData.Values["id"].ToString());
                            string destinationPath    = folderPath;
                            string employeeFolderPath = destinationPath;
                            // create folder if it is not exist
                            if (!Directory.Exists(folderPath))
                            {
                                Directory.CreateDirectory(folderPath);
                                if (!Directory.Exists(employeeFolderPath))
                                {
                                    Directory.CreateDirectory(employeeFolderPath);
                                    // create emp id folder of not exist
                                }
                            }
                            else
                            {
                                if (!Directory.Exists(employeeFolderPath))
                                {
                                    Directory.CreateDirectory(employeeFolderPath);
                                    // create emp id folder of not exist
                                }
                            }
                            destinationPath = employeeFolderPath;
                            /*Saving the file in server folder*/
                            //file.SaveAs(Server.MapPath("~/Images/" + filename));
                            string fileNewName = Guid.NewGuid() + Path.GetExtension(file.FileName);

                            file.SaveAs(Path.Combine(destinationPath, fileNewName));

                            //objModel.CID = Convert.ToInt32(s);
                            model.FileURL     = Path.Combine("/Attachment/" + model.TicketID + "/", fileNewName);
                            model.FileName    = Path.GetFileNameWithoutExtension(file.FileName);
                            model.TicketID    = model1.TicketID;
                            model.Prefix      = model1.Prefix;
                            model.Comment     = model1.Comment;
                            model.CreatedBy   = model.CreatedBy;
                            model.CreatedDate = model.CreatedDate;
                            model.ReplayBy    = uid;
                            model.ReplayDate  = System.DateTime.Now;
                            objService.InsertTicketTran(model);
                            //objModel.BID = Convert.ToInt32(Session["BranchID"].ToString());
                            //objService.InsertTicketAttachment(model1);

                            //string filepathtosave = "Images/" + filename;
                            /*HERE WILL BE YOUR CODE TO SAVE THE FILE DETAIL IN DATA BASE*/
                        }
                        else if (model1.Comment != null)
                        {
                            model.TicketID    = model1.TicketID;
                            model.Prefix      = model1.Prefix;
                            model.Comment     = model1.Comment;
                            model.CreatedBy   = model.CreatedBy;
                            model.CreatedDate = model.CreatedDate;
                            model.ReplayBy    = uid;
                            model.ReplayDate  = System.DateTime.Now;
                            objService.InsertTicketTran(model);
                        }
                        else
                        {
                            TempData["AMsg"] = "Enter your message or Attach any files in attachment.";
                        }
                    }
                }
                if (model1.Comment != null || files[0] != null)
                {
                    try
                    {
                        if (rid != 1)
                        {
                            var user        = Dbcontext.UserMasters.Where(m => m.UID == model.ReplayBy).SingleOrDefault();
                            var comp        = Dbcontext.CompanyMasters.Where(m => m.CompID == user.CompID).SingleOrDefault();
                            var ts          = Dbcontext.TicketStatusMasters.Where(m => m.TicketStatusID == model1.TicketStatusID).SingleOrDefault();
                            var fromAddress = new MailAddress("*****@*****.**", comp.Name);
                            var toAddress   = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            const string fromPassword = "******";

                            var           ticket  = Dbcontext.TicketMasters.Where(m => m.TicketID == model1.TicketID).SingleOrDefault();
                            string        subject = model.Prefix + "" + model.TicketID;
                            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>Ticket ID : </b></td><td><br/>" + model.Prefix + "" + model.TicketID + "</td></tr><tr><td><b>Reply By : </b></td><td>" + user.Title + ' ' + user.FirstName + ' ' + user.LastName + "</td></tr><tr><td><b>Ticket Status : </b></td><td>" + ts.TicketStatus + "</td></tr><tr><td><b>Comment : </b></td><td>" + model.Comment + "</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
                            })
                            {
                                foreach (HttpPostedFileBase file in files)
                                {
                                    if (file != null)
                                    {
                                        string fileName = Path.GetFileName(file.FileName);
                                        message.Attachments.Add(new Attachment(file.InputStream, fileName));
                                    }
                                }
                                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"] = "Your Reply Successfully Sent.";
                            }
                        }
                        else
                        {
                            var user = Dbcontext.UserMasters.Where(m => m.UID == model1.CreatedBy).SingleOrDefault();
                            //var fromAddress = new MailAddress("*****@*****.**", "Techflow Administrator");
                            var fromAddress = new MailAddress("*****@*****.**", "Techflow Administrator");
                            //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            var          toAddress    = new MailAddress(user.Email, user.FirstName + " " + user.LastName);
                            const string fromPassword = "******";

                            var           ticket  = Dbcontext.TicketMasters.Where(m => m.TicketID == model1.TicketID).SingleOrDefault();
                            string        subject = model.Prefix + "" + model.TicketID;
                            StringBuilder sb      = new StringBuilder();
                            sb.Append("<html>");
                            sb.Append("<Body>");
                            sb.Append("<table><tr><td><b>Dear User,</b></td></tr><tr><td><br/><b>Ticket ID : </b></td><td><br/>" + model.Prefix + "" + model.TicketID + "</td></tr><tr><td><b>Reply By : </b></td><td>Techflow Administrator</td></tr><tr><td><b>Comment : </b></td><td>" + model.Comment + "</td></tr><tr><td><br/><b>Thanks and Regards,</b><br/></td></tr><tr><td>Techflow</td></tr></table>");
                            sb.Append("</Body>");
                            sb.Append("</html>");

                            string body = sb.ToString();

                            var smtp = new SmtpClient
                            {
                                //Host = "smtp.mail.yahoo.com",
                                //Port = 25,
                                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
                            })
                            {
                                foreach (HttpPostedFileBase file in files)
                                {
                                    if (file != null)
                                    {
                                        string fileName = Path.GetFileName(file.FileName);
                                        message.Attachments.Add(new Attachment(file.InputStream, fileName));
                                    }
                                }
                                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"] = "Your Reply Successfully Sent.";
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        TempData["Msg"] = "Reply was not sent. Please try again later.";
                    }
                }
            }
            return(RedirectToAction("Replay", new { @id = TempData["tid"], @uid = TempData["uid"] }));
        }
        public ActionResult Index(TicketModel model)
        {
            try
            {
                //int status = Convert.ToInt32(All["ddlStatus"]);
                //int tid = Convert.ToInt32(All["TicketID"]);
                int uid = 0;
                int rid = 0;
                if (Session["UID"] != null)
                {
                    uid = Convert.ToInt32(Session["UID"].ToString());
                    rid = Convert.ToInt32(Session["Role"].ToString());
                }

                TicketMaster tm = Dbcontext.TicketMasters.Where(m => m.TicketID == model.TicketID).SingleOrDefault();
                if (model.TicketStatusID != null)
                {
                    var status = Dbcontext.TicketMasters.Where(m => m.TicketID == model.TicketID && m.TicketStatusID == model.TicketStatusID).SingleOrDefault();
                    if (status == null)
                    {
                        try
                        {
                            var cby     = Dbcontext.UserMasters.Where(m => m.UID == tm.CreatedBy).SingleOrDefault();
                            var user    = Dbcontext.UserMasters.Where(m => m.CompID == @cby.CompID && m.Role == 2).ToList();
                            int adminID = 0;
                            if (Session["UID"] != null)
                            {
                                adminID = Convert.ToInt32(Session["UID"].ToString());
                            }
                            var    admin    = Dbcontext.UserMasters.Where(m => m.UID == adminID).SingleOrDefault();
                            string priority = "";
                            if (model.Priority == 1)
                            {
                                priority = "High";
                            }
                            else if (model.Priority == 2)
                            {
                                priority = "Medium";
                            }
                            else
                            {
                                priority = "Normal";
                            }
                            var comp        = Dbcontext.CompanyMasters.Where(m => m.CompID == cby.CompID).SingleOrDefault();
                            var fromAddress = new MailAddress("*****@*****.**", "Newtech Ticketing Soultion");
                            var toAddress   = new MailAddress(@user[0].Email, @user[0].FirstName + ' ' + @user[0].LastName);
                            //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            const string fromPassword = "******";
                            var          tt           = Dbcontext.TicketTypeMasters.Where(a => a.TicketTypeID == tm.TicketTypeID).SingleOrDefault();
                            var          bts          = Dbcontext.TicketStatusMasters.Where(m => m.TicketStatusID == tm.TicketStatusID).SingleOrDefault();
                            var          ats          = Dbcontext.TicketStatusMasters.Where(m => m.TicketStatusID == model.TicketStatusID).SingleOrDefault();
                            int          tid          = model.TicketID;
                            string       ticketID     = tm.Prefix + "" + tm.TicketID;

                            string        subject = "Status Changed from " + bts.TicketStatus + " To " + ats.TicketStatus + " of " + ticketID;
                            StringBuilder sb      = new StringBuilder();
                            sb.Append("<html>");
                            sb.Append("<Body>");
                            sb.Append("<table><tr><td><b>Dear sir/madam,</b></td></tr><tr><td><br/><b>Ticket Created By : </b></td><td><br/>" + cby.Title + ' ' + cby.FirstName + ' ' + cby.LastName + "</td></tr><tr><td><b>Ticket ID : </b></td><td>" + ticketID + "</td></tr><tr><td><b>Description : </b></td><td>" + tm.Description + "</td></tr><tr><td><b>Ticket Type : </b></td><td>" + tt.TicketType + "</td></tr><tr><td><b>Ticket Priority : </b></td><td>" + priority + "</td></tr><tr><td><br/><b>Thanks and Regards,</b><br/></td></tr><tr><td>" + admin.Title + ' ' + admin.FirstName + ' ' + admin.LastName + "</td></tr><tr><td>Newtech Infosoft Pvt. Ltd.</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)
                            };
                            using (var message = new MailMessage(fromAddress, toAddress)
                            {
                                Subject = subject,
                                Body = body
                            })
                            {
                                //foreach (HttpPostedFileBase file in files)
                                //{
                                //    if (file != null)
                                //    {
                                //        string fileName = Path.GetFileName(file.FileName);
                                //        message.Attachments.Add(new Attachment(file.InputStream, fileName));
                                //    }
                                //}
                                message.IsBodyHtml = true;

                                //var user = Dbcontext.UserMasters.Where(m => m.CompID == @cby.CompID && m.Role == 2).ToList();
                                //foreach (var u in user)
                                //{
                                //    message.CC.Add(new MailAddress(Convert.ToString(u.Email), u.FirstName));
                                //}

                                //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Info-Sugam Health Care"));
                                smtp.Send(message);
                                TempData["Msg"] = "Mail Successfully Sent.";
                            }
                        }
                        catch (Exception ex)
                        {
                            TempData["Msg"] = "Sorry!!Mail not sent.";
                        }
                    }
                }

                if (model.AssignTo != null)
                {
                    var assign = Dbcontext.TicketMasters.Where(m => m.AssignTo == model.AssignTo && m.TicketID == model.TicketID).SingleOrDefault();
                    if (assign == null)
                    {
                        try
                        {
                            var user    = Dbcontext.UserMasters.Where(m => m.UID == model.AssignTo).SingleOrDefault();
                            var cby     = Dbcontext.UserMasters.Where(m => m.UID == tm.CreatedBy).SingleOrDefault();
                            int adminID = 0;
                            if (Session["UID"] != null)
                            {
                                adminID = Convert.ToInt32(Session["UID"].ToString());
                            }
                            var    admin    = Dbcontext.UserMasters.Where(m => m.UID == adminID).SingleOrDefault();
                            string priority = "";
                            if (model.Priority == 1)
                            {
                                priority = "High";
                            }
                            else if (model.Priority == 2)
                            {
                                priority = "Medium";
                            }
                            else
                            {
                                priority = "Normal";
                            }
                            //var comp = Dbcontext.CompanyMasters.Where(m => m.CompID == user.CompID).SingleOrDefault();
                            var fromAddress = new MailAddress("*****@*****.**", "Newtech Infosoft Pvt. Ltd.");
                            var toAddress   = new MailAddress(@user.Email, @user.FirstName);
                            //var toAddress = new MailAddress("*****@*****.**", "Administrator of Techflow");
                            const string fromPassword = "******";
                            var          tt           = Dbcontext.TicketTypeMasters.Where(a => a.TicketTypeID == tm.TicketTypeID).SingleOrDefault();
                            int          tid          = model.TicketID;
                            string       ticketID     = tm.Prefix + "" + model.TicketID;

                            string        subject = "New Ticket-" + tm.Subject;
                            StringBuilder sb      = new StringBuilder();
                            sb.Append("<html>");
                            sb.Append("<Body>");
                            sb.Append("<table><tr><td><b>Dear " + user.Title + ' ' + @user.FirstName + ' ' + @user.LastName + ",</b></td></tr><tr><td><br/><b>Ticket Created By : </b></td><td><br/>" + cby.Title + ' ' + cby.FirstName + ' ' + cby.LastName + "</td></tr><tr><td><b>Ticket ID : </b></td><td>" + ticketID + "</td></tr><tr><td><b>Description : </b></td><td>" + tm.Description + "</td></tr><tr><td><b>Ticket Type : </b></td><td>" + tt.TicketType + "</td></tr><tr><td><b>Ticket Priority : </b></td><td>" + priority + "</td></tr><tr><td><br/><b>Thanks and Regards,</b><br/></td></tr><tr><td>" + admin.Title + ' ' + admin.FirstName + ' ' + admin.LastName + "</td></tr><tr><td>Newtech Infosoft Pvt. Ltd.</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)
                            };
                            using (var message = new MailMessage(fromAddress, toAddress)
                            {
                                Subject = subject,
                                Body = body
                            })
                            {
                                //foreach (HttpPostedFileBase file in files)
                                //{
                                //    if (file != null)
                                //    {
                                //        string fileName = Path.GetFileName(file.FileName);
                                //        message.Attachments.Add(new Attachment(file.InputStream, fileName));
                                //    }
                                //}
                                message.IsBodyHtml = true;

                                message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Kuldip"));
                                //message.CC.Add(new MailAddress(Convert.ToString("*****@*****.**"), "Info-Sugam Health Care"));
                                smtp.Send(message);
                                TempData["Msg"] = "Mail sent successfully.";
                            }
                        }
                        catch (Exception ex)
                        {
                            TempData["Msg"] = "Sorry!!Mail not sent.";
                        }
                    }
                }



                tm.TicketStatusID = model.TicketStatusID;
                tm.UpdatedDate    = System.DateTime.Now;
                if (rid == 1)
                {
                    tm.AssignTo = model.AssignTo;
                }
                tm.UpdatedBy = uid;
                Dbcontext.SaveChanges();
                TempData["AMsg"] = "Updated successfully.";
            }
            catch (Exception ex)
            {
                TempData["AMsg"] = "Status Not Updated";
            }
            //return Content("<script language='javascript' type='text/javascript'>alert('Status updated successfully.');</script>");
            return(RedirectToAction("Index"));
        }