// obter um único pelotão, baseado no id e devolvê-lo
        public XElement GetPlatoonById(string platoonid)
        {
            // criar um pelotão
            Platoons platoon = new Platoons();

            // converter o id para int32, ele vem como string
            int int_PlatoonId = Convert.ToInt32(platoonid);

            // validar o id e obter o pelotão da base de dados
            if (!string.IsNullOrEmpty(platoonid))
            {
                platoon = db.Platoons.Where(x => x.Id.Equals(int_PlatoonId)).FirstOrDefault();
            }
            else
            {
                return(new XElement(""));
            }

            // criar um elemento xml para devolver o pelotão
            XElement xElem = new XElement("platoon",
                                          new XElement("id", platoon.Id),
                                          new XElement("name", platoon.Name),
                                          new XElement("initialdate", platoon.InitialDate.ToShortDateString()),
                                          new XElement("finaldate", platoon.FinalDate.ToShortDateString()));

            return(xElem);
        }
        // método para apagar um pelotão da base de dados
        public XElement DeletePlatoons(string id)
        {
            // elemento xml para confirmar sucesso da operação
            XElement xElem = new XElement("isDeleted");

            // validar id e remover o pelotão segundo o id indicado
            if (!string.IsNullOrEmpty(id))
            {
                int      platoonId = Convert.ToInt32(id);
                Platoons platoon   = db.Platoons.Where(x => x.Id.Equals(platoonId)).FirstOrDefault();
                db.Platoons.Remove(platoon);
                db.SaveChanges();
                xElem.Value = "true";
                return(xElem);
            }
            xElem.Value = "false";
            return(xElem);
        }
        // método para inserir um pelotão na base de dados
        public XElement InsertPlatoon(string name, string initialdate, string finaldate)
        {
            // elemento xml para confirmar o sucesso da operação
            XElement xElem = new XElement("isSaved");

            // validar parâmetros de entrada, enfiá-los no objecto platoon e acrescentá-los à base de dados
            if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(initialdate) && !string.IsNullOrEmpty(finaldate))
            {
                Platoons platoon = new Platoons {
                    Name = name, InitialDate = Convert.ToDateTime(initialdate), FinalDate = Convert.ToDateTime(finaldate)
                };
                db.Platoons.Add(platoon);
                db.SaveChanges();
                xElem.Value = "true";
            }
            else
            {
                xElem.Value = "false";
            }
            return(xElem);
        }
        // método para actualizar o pelotão
        public XElement UpdatePlatoons(string id, string name, string initialdate, string finaldate)
        {
            // elemento xml para confirmar sucesso da operação
            XElement xElem = new XElement("isUpdated");

            // validar os parâmetros, recuperar o pelotão e enviar os novos parãmetros para a base de dados
            if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(initialdate) && !string.IsNullOrEmpty(finaldate))
            {
                int      platoonId = Convert.ToInt32(id);
                Platoons platoon   = db.Platoons.Where(x => x.Id.Equals(platoonId)).FirstOrDefault();
                platoon.Name        = name;
                platoon.InitialDate = Convert.ToDateTime(initialdate);
                platoon.FinalDate   = Convert.ToDateTime(finaldate);

                db.Entry(platoon).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
                xElem.Value = "true";
                return(xElem);
            }

            xElem.Value = "false";
            return(xElem);
        }
        // método para inserir um pelotão na base de dados
        public XElement InsertPlatoon(string name, string initialdate, string finaldate)
        {
            // elemento xml para confirmar o sucesso da operação
            XElement xElem = new XElement("isSaved");

            // validar parâmetros de entrada, enfiá-los no objecto platoon e acrescentá-los à base de dados
            if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(initialdate) && !string.IsNullOrEmpty(finaldate))
            {

                Platoons platoon = new Platoons { Name = name, InitialDate = Convert.ToDateTime(initialdate), FinalDate = Convert.ToDateTime(finaldate)};
                db.Platoons.Add(platoon);
                db.SaveChanges();
                xElem.Value = "true";
            }
            else
            {
                xElem.Value = "false";
            }
            return xElem;
        }
        // obter um único pelotão, baseado no id e devolvê-lo
        public XElement GetPlatoonById(string platoonid)
        {
            // criar um pelotão
            Platoons platoon = new Platoons();

            // converter o id para int32, ele vem como string
            int int_PlatoonId = Convert.ToInt32(platoonid);

            // validar o id e obter o pelotão da base de dados
            if (!string.IsNullOrEmpty(platoonid))
            {
                platoon = db.Platoons.Where(x => x.Id.Equals(int_PlatoonId)).FirstOrDefault();
            }
            else
            {
                return new XElement("");
            }

            // criar um elemento xml para devolver o pelotão
            XElement xElem = new XElement("platoon",
                    new XElement("id", platoon.Id),
                    new XElement("name", platoon.Name),
                    new XElement("initialdate", platoon.InitialDate.ToShortDateString()),
                    new XElement("finaldate", platoon.FinalDate.ToShortDateString()));

            return xElem;
        }