Пример #1
0
        public void AddBus(DO.Bus bus)
        {
            XElement bussRootElem;

            try
            {
                bussRootElem = XmlTools.LoadListFromXMLElement(bussPath);
            }
            catch (DO.XmlFileLoadCreateException ex)
            {
                throw ex;
            }
            var temp = (from b in bussRootElem.Elements()
                        where b.Element("LicenseNum").Value == bus.LicenseNum.ToString()
                        select b).FirstOrDefault();

            if (temp != null)
            {
                if (!bool.Parse(temp.Element("IsDeleted").Value))
                {
                    throw new DO.BadBusException(bus.LicenseNum, "Duplicate License number of bus");
                }
            }

            bussRootElem.Add(XmlTools.CreateElement(bus));
            XmlTools.SaveListToXMLElement(bussRootElem, bussPath);
        }
Пример #2
0
        public DO.Bus GetBus(int licenseNum)
        {
            XElement bussRootElem = XmlTools.LoadListFromXMLElement(bussPath);

            DO.Bus bus = (from b in bussRootElem.Elements()
                          where int.Parse(b.Element("LicenseNum").Value) == licenseNum
                          select new DO.Bus()
            {
                LicenseNum = int.Parse(b.Element("LicenseNum").Value),
                FromDate = DateTime.Parse(b.Element("FromDate").Value),
                FuelRemain = double.Parse(b.Element("FuelRemain").Value),
                IsDeleted = bool.Parse(b.Element("IsDeleted").Value),
                KilometersAfterFueling = double.Parse(b.Element("KilometersAfterFueling").Value),
                KilometersAfterTreatment = double.Parse(b.Element("KilometersAfterTreatment").Value),
                LastTreatment = DateTime.Parse(b.Element("LastTreatment").Value),
                Status = (DO.BusStatus)Enum.Parse(typeof(DO.BusStatus), b.Element("Status").Value),
                TotalTrip = double.Parse(b.Element("TotalTrip").Value)
            }
                          ).FirstOrDefault();

            if (bus != null && !bus.IsDeleted)
            {
                return(bus);
            }
            else
            {
                throw new DO.BadBusException(licenseNum, "bus not found");
            }
        }
Пример #3
0
 public BO.Bus GetBus(string licensNumber)
 {
     DO.Bus busDO = null;
     try
     {
         busDO = dl.GetBus(licensNumber);
     }
     catch (DO.BadBusLicenseNumberException ex)
     {
         throw new BO.BadLicensNumberException(ex.Message, ex);
     }
     return(BusDoBoAdapter(busDO));
 }
Пример #4
0
        /// <summary>
        /// Add a new bus to my Data Source
        /// </summary>
        /// <param name="bus"></param>
        public void AddBus(DO.Bus bus)
        {
            var findBus = DS.DataSource.BussList.FirstOrDefault(b => b.LicenseNum == bus.LicenseNum);

            if (findBus != null)
            {
                if (!bus.IsDeleted)
                {
                    throw new DO.BadBusException(bus.LicenseNum, "Duplicate License number of bus");
                }
            }

            DS.DataSource.BussList.Add(bus.Clone());
        }
Пример #5
0
        /// <summary>
        /// Update Bus in my Data Source
        /// </summary>
        /// <param name="bus"></param>
        public void UpdateBus(DO.Bus bus)
        {
            var busToUp = DS.DataSource.BussList.Find(b => b.LicenseNum == bus.LicenseNum);

            if (busToUp != null && !bus.IsDeleted)
            {
                DS.DataSource.BussList.Remove(busToUp);
                DS.DataSource.BussList.Add(bus);
            }
            else
            {
                throw new DO.BadBusException(bus.LicenseNum, "bus not found");
            }
        }
Пример #6
0
        public void UpdateBus(DO.Bus bus)
        {
            XElement bussRootElem = XmlTools.LoadListFromXMLElement(bussPath);

            var busNode = (from b in bussRootElem.Elements()
                           where b.Element("LicenseNum").Value == bus.LicenseNum.ToString()
                           select b).FirstOrDefault();

            if (busNode == null)
            {
                throw new DO.BadBusException(0, "bus not found");
            }
            if (busNode.Element("IsDeleted").Value == true.ToString())
            {
                throw new DO.BadBusException(bus.LicenseNum, "bus not found");
            }

            busNode.UpdateElement(bus);
            XmlTools.SaveListToXMLElement(bussRootElem, bussPath);
        }
Пример #7
0
        public void CreateBus(long licenseNumber, DateTime dateTime, float kM, float fuel, int statusInput)
        {
            string exception      = "";
            bool   foundException = false;

            try
            {
                valid.GoodLicense(licenseNumber, dateTime);
            }
            catch (BOBadBusIdException ex)
            {
                exception     += ex.Message;
                foundException = true;
            }
            try
            {
                valid.ExistLicenseNumber(licenseNumber);
            }
            catch (BOBadBusIdException ex)
            {
                if (!foundException)
                {
                    exception     += ex.Message;
                    foundException = true;
                }
            }
            try
            {
                valid.GoodLicenseDigits(licenseNumber);
            }
            catch (BOBadBusIdException ex)
            {
                if (!foundException)
                {
                    exception     += ex.Message;
                    foundException = true;
                }
            }
            try
            {
                valid.GoodFuel(fuel);
            }
            catch (BOBusException ex)
            {
                exception     += ex.Message;
                foundException = true;
            }

            try
            {
                valid.GoodStatus(statusInput);
            }
            catch (BOBusException ex)
            {
                exception     += ex.Message;
                foundException = true;
            }

            try
            {
                valid.GoodFloat(kM);
            }
            catch (BOBusException ex)
            {
                exception     += ex.Message;
                foundException = true;
            }
            if (foundException)
            {
                throw new BOBusException("There is something wrong with your input." + "Please Check these things :\n" + exception);  //להוסיף את האינפוט שלו עם דולר
            }
            Bus busBO = new Bus(licenseNumber, dateTime, kM, fuel, statusInput);

            DO.Bus busDO = busBO.GetPropertiesFrom <DO.Bus, BO.Bus>();
            try
            {
                dal.CreateBus(busDO);
            }
            catch (DO.DOBadBusIdException ex)
            {
                throw new BODOBadBusIdException("cant create this bus", ex);
            }
        }
Пример #8
0
 DO.Bus BusBoDoAdapter(BO.Bus busBO)
 {
     DO.Bus busDO = new DO.Bus();
     busBO.CopyPropertiesTo(busDO);
     return(busDO);
 }
Пример #9
0
 BO.Bus BusDoBoAdapter(DO.Bus busDO)
 {
     BO.Bus busBO = new BO.Bus();
     busDO.CopyPropertiesTo(busBO);
     return(busBO);
 }