Ejemplo n.º 1
0
        protected void archivetickets_Click(object sender, EventArgs e)
        {
            DateTime datefrom = DateTime.Parse(archivefrom.Text);
            DateTime dateto   = DateTime.Parse(archiveto.Text);

            if (config.HelpDesk.Provider == "xml")
            {
                StreamWriter sw = File.CreateText(HttpContext.Current.Server.MapPath("~/app_data/Tickets_" + datefrom.ToString("dd-MM-yy") + "_" + dateto.ToString("dd-MM-yy") + ".xml"));
                sw.WriteLine("<?xml version=\"1.0\"?>");
                sw.WriteLine("<Tickets/>");
                sw.Close();
                sw.Dispose();
                XmlDocument doc2 = new XmlDocument();
                doc2.Load(HttpContext.Current.Server.MapPath("~/app_data/Tickets_" + datefrom.ToString("dd-MM-yy") + "_" + dateto.ToString("dd-MM-yy") + ".xml"));
                XmlDocument doc = new XmlDocument();
                doc.Load(HttpContext.Current.Server.MapPath("~/App_Data/Tickets.xml"));
                foreach (XmlNode node in doc.SelectNodes("/Tickets/Ticket[@status='Fixed']"))
                {
                    DateTime d   = DateTime.Parse(node.SelectNodes("Note")[node.SelectNodes("Note").Count - 1].Attributes["datetime"].Value);
                    bool     faq = node.Attributes["faq"] != null;
                    if (faq)
                    {
                        faq = bool.Parse(node.Attributes["faq"].Value);
                    }
                    if (datefrom.Date <= d.Date && dateto.Date > d.Date && !faq)
                    {
                        doc2.SelectSingleNode("/Tickets").AppendChild(doc2.ImportNode(node.Clone(), true));
                        doc.SelectSingleNode("/Tickets").RemoveChild(node);
                    }
                }
                doc.Save(HttpContext.Current.Server.MapPath("~/app_data/Tickets.xml"));
                doc2.Save(HttpContext.Current.Server.MapPath("~/app_data/Tickets_" + datefrom.ToString("dd-MM-yy") + "_" + dateto.ToString("dd-MM-yy") + ".xml"));
            }
            else
            {
                Data.SQL.sql2linqDataContext sql = new Data.SQL.sql2linqDataContext(WebConfigurationManager.ConnectionStrings[config.HelpDesk.Provider].ConnectionString);
                foreach (Data.SQL.Ticket tick in sql.Tickets.Where(t => t.Archive == "" && !t.Faq))
                {
                    if (!API.isOpen(tick.Status))
                    {
                        tick.Archive = datefrom.ToString("dd-MM-yy") + "_" + dateto.ToString("dd-MM-yy");
                    }
                }
                sql.SubmitChanges();
            }
        }
Ejemplo n.º 2
0
 protected void Migrate(string archive, XmlDocument doc, Data.SQL.sql2linqDataContext sql)
 {
     foreach (XmlNode node in doc.SelectNodes("/Tickets/Ticket"))
     {
         FullTicket      ticket = new FullTicket(node);
         Data.SQL.Ticket tick   = new Data.SQL.Ticket {
             Archive = archive, Faq = ticket.FAQ, Status = ticket.Status, AssignedTo = ticket.AssignedTo, ShowTo = ticket.ShowTo, ReadBy = ticket.ReadBy, Title = ticket.Subject, Priority = ticket.Priority
         };
         foreach (Note n in ticket.Notes)
         {
             tick.Notes.Add(new Data.SQL.Note {
                 DateTime = DateTime.Parse(n.Date), Hide = n.Hide, Username = n.Username, Content = n.NoteText
             });
         }
         sql.Tickets.InsertOnSubmit(tick);
     }
     sql.SubmitChanges();
 }