Exemplo n.º 1
0
        public TimeItem LoadTimeItem(Guid id)
        {
            TimeItem timeItem = null;

            XDocument xDoc = XDocument.Load(this.DataSource);

            var dbElement = (from item in xDoc.Descendants("TimeClockDataSource").Descendants("TimeItems").Descendants("TimeItem")
                             where item.Attribute("id").Value == id.ToString()
                             select item).FirstOrDefault();

            if (dbElement != null)
            {
                timeItem = new TimeItem
                {
                    Id = id,
                    Name = dbElement.Element("Name").Value,
                    Description = dbElement.Element("Description").Value,
                    Group = dbElement.Element("Group").Value,
                    Status = (TimeItemStatus)Convert.ToInt32(dbElement.Attribute("Status"))
                };

                foreach (var tickElement in dbElement.Descendants("Ticks"))
                {
                    timeItem.Ticks.Add(
                        new TimeItemTick
                        {
                            Start = Convert.ToDateTime(tickElement.Element("Start")),
                            End = Convert.ToDateTime(tickElement.Element("End"))
                        });
                }

            }

            return timeItem;
        }
Exemplo n.º 2
0
 public void DeleteTimeItem(TimeItem ti)
 {
     DeleteTimeItem(ti.Id);
 }
Exemplo n.º 3
0
        public void SaveTimeItem(TimeItem ti)
        {
            if (ti == null)
            {
                throw new NullReferenceException("TimeItem is null");
            }

            XDocument xDoc = XDocument.Load(this.DataSource);

            var dbElement = (from item in xDoc.Descendants("TimeClockDataSource").Descendants("TimeItems").Descendants("TimeItem")
                             where item.Attribute("id").Value == ti.Id.ToString()
                             select item).FirstOrDefault();

            if(dbElement != null)
            {
                dbElement.Attribute("status").Value = Convert.ToInt32(ti.Status).ToString();

                dbElement.Element("Name").Value = ti.Name;
                dbElement.Element("Description").Value = ti.Description;
                dbElement.Element("Group").Value = ti.Group;

                dbElement.Element("Ticks").Value = null;
            }
            else
            {
                dbElement = new XElement("TimeItem",
                new XElement("Name", ti.Name),
                new XElement("Description", ti.Description),
                new XElement("Group", ti.Group),
                new XElement("Ticks"));

                dbElement.Add(new XAttribute("id", ti.Id));
                dbElement.Add(new XAttribute("status", Convert.ToInt32(ti.Status).ToString()));

                xDoc.Element("Customers").Add(dbElement);
            }

            foreach (TimeItemTick tick in ti.Ticks)
            {
                XElement tickElement = new XElement("Tick",
                    new XElement("Start", tick.Start),
                    new XElement("End", tick.End));

                dbElement.Element("Ticks").Add(tickElement);
            }

            xDoc.Save(".\\DataSource.Xml");
        }