示例#1
0
        public bool UpdateDispatcherFare(long id, FareStatus status, long driver, long fareid, out string report)
        {
            report = string.Empty;
            bool retVal = false;

            try
            {
                var fare        = DataManager.DataManager.Instance.GetById <Model.Fare>(fareid);
                var dispatcher  = DataManager.DataManager.Instance.GetById <Model.User>(id);
                var driverModel = DataManager.DataManager.Instance.GetById <Model.Driver>(driver);

                if (fare != null && dispatcher != null && driverModel != null)
                {
                    fare.Driver     = driver;
                    fare.Dispather  = id;
                    fare.FareStatus = status;
                    dispatcher.Fares.Add(fareid);
                    driverModel.Fares.Add(fareid);

                    DataManager.DataManager.Instance.UpdateEntity <Model.Fare>(fare);
                    DataManager.DataManager.Instance.UpdateEntity <Model.User>(dispatcher);
                    DataManager.DataManager.Instance.UpdateEntity <Model.Driver>(driverModel);
                }
                retVal = false;
            }
            catch (Exception ex)
            {
                report = ex.Message;
                retVal = false;
            }
            return(retVal);
        }
        public IHttpActionResult UpdateDispatcherFare(long id, JObject inputData)
        {
            JToken     t;
            FareStatus status = 0;

            if (inputData.TryGetValue("status", out t))
            {
                Enum.TryParse(t.ToString(), out status);
            }
            long driver = 0;

            if (inputData.TryGetValue("driver", out t))
            {
                Int64.TryParse(t.ToString(), out driver);
            }

            long fareid = 0;

            if (inputData.TryGetValue("fareid", out t))
            {
                Int64.TryParse(t.ToString(), out fareid);
            }

            string report = string.Empty;

            if (!FareService.UpdateDispatcherFare(id, status, driver, fareid, out report))
            {
                return(new NotFoundWithMessageResult(report));
            }
            return(Ok());
        }
        public IEnumerable <FareViewModel> GetFilterDriverFares(long id, JObject inputData)
        {
            JToken     t;
            FareStatus status = 0;

            if (inputData.TryGetValue("status", out t))
            {
                Enum.TryParse(t.ToString(), out status);
            }
            return(FareService.GetFilterDriverFares(id, status));
        }
示例#4
0
 public Fare(long locId, long customerId, int type, DateTime dateOfDrive) : base(EntityType.FARE)
 {
     this.startLocation = locId;
     this.customer      = customerId;
     if (type > 0)
     {
         desiredVehicleType = (VehicleType)type;
     }
     fareStatus       = FareStatus.ON_HOLD;
     this.dateOfDrive = dateOfDrive;
 }
示例#5
0
        public IEnumerable <FareViewModel> GetFilterDriverFares(long id, FareStatus status)
        {
            var fareModels = DataManager.DataManager.Instance.GetAllByType <Model.Fare>().Where(f => f.Driver == id && f.FareStatus == status);
            List <FareViewModel> retVal = new List <FareViewModel>();

            foreach (var model in fareModels)
            {
                retVal.Add(new FareViewModel(model));
            }

            return(retVal);
        }
示例#6
0
        public bool UpdateDispatcherFareFailded(long id, FareStatus status, string comment, out string report)
        {
            report = string.Empty;
            bool retVal = false;

            try
            {
                var fare = DataManager.DataManager.Instance.GetById <Model.Fare>(id);

                if (fare != null)
                {
                    fare.FareStatus = status;

                    Model.Comment fareComment;
                    if (fare.Comment != 0)
                    {
                        fareComment = DataManager.DataManager.Instance.GetById <Model.Comment>(fare.Comment);
                        if (fareComment != null)
                        {
                            fareComment.Description   = comment;
                            fareComment.DateOfPublish = DateTime.Now;
                            DataManager.DataManager.Instance.UpdateEntity <Model.Comment>(fareComment);
                        }
                    }
                    else
                    {
                        fareComment      = new Model.Comment(comment);
                        fareComment.Fare = fare.Id;
                        fare.Comment     = fareComment.Id;
                        DataManager.DataManager.Instance.AddNewEntity <Model.Comment>(fareComment);
                        //DataManager.DataManager.Instance.UpdateEntity<Model.Fare>(fare);
                    }


                    DataManager.DataManager.Instance.UpdateEntity <Model.Fare>(fare);
                }
                retVal = false;
            }
            catch (Exception ex)
            {
                report = ex.Message;
                retVal = false;
            }
            return(retVal);
        }
示例#7
0
        public bool UpdateDispatcherFare(long id, FareStatus status, out string report)
        {
            report = string.Empty;
            bool retVal = false;

            try
            {
                var fare = DataManager.DataManager.Instance.GetById <Model.Fare>(id);
                if (fare != null)
                {
                    fare.FareStatus = status;
                    DataManager.DataManager.Instance.UpdateEntity <Model.Fare>(fare);
                    retVal = true;
                }
            }
            catch (Exception ex)
            {
                report = ex.Message;
                retVal = false;
            }
            return(retVal);
        }
        public IHttpActionResult UpdateDriverFareFailed(long id, JObject inputData)
        {
            JToken     t;
            FareStatus status = 0;

            if (inputData.TryGetValue("status", out t))
            {
                Enum.TryParse(t.ToString(), out status);
            }
            string comment = string.Empty;

            if (inputData.TryGetValue("comment", out t))
            {
                comment = t.ToString();
            }
            string report = string.Empty;

            if (!FareService.UpdateDispatcherFareFailded(id, status, comment, out report))
            {
                return(new NotFoundWithMessageResult(report));
            }
            return(Ok());
        }
        public IHttpActionResult UpdateDriverFare(long id, JObject inputData)
        {
            JToken t;
            double locX = 0;

            if (inputData.TryGetValue("locX", out t))
            {
                Double.TryParse(t.ToString(), out locX);
            }
            double locY = 0;

            if (inputData.TryGetValue("locY", out t))
            {
                Double.TryParse(t.ToString(), out locY);
            }
            string addrStreet = string.Empty;

            if (inputData.TryGetValue("addrStreet", out t))
            {
                addrStreet = t.ToString();
            }
            int addrNumber = 0;

            if (inputData.TryGetValue("addrNumber", out t))
            {
                Int32.TryParse(t.ToString(), out addrNumber);
            }
            string addrCity = string.Empty;

            if (inputData.TryGetValue("addrCity", out t))
            {
                addrCity = t.ToString();
            }
            int addrPostalCode = 0;

            if (inputData.TryGetValue("addrPostalCode", out t))
            {
                Int32.TryParse(t.ToString(), out addrPostalCode);
            }

            double price = 0;

            if (inputData.TryGetValue("price", out t))
            {
                Double.TryParse(t.ToString(), out price);
            }

            FareStatus status = 0;

            if (inputData.TryGetValue("status", out t))
            {
                Enum.TryParse(t.ToString(), out status);
            }

            string report = string.Empty;

            if (!FareService.UpdateDispatcherFare(id, locX, locY, addrStreet, addrNumber, addrCity, addrPostalCode, price, status, out report))
            {
                return(new NotFoundWithMessageResult(report));
            }
            return(Ok());
        }
示例#10
0
        public bool UpdateDispatcherFare(long id, double locX, double locY, string addrStreet, int addrNumber, string addrCity, int addrPostalCode, double price, FareStatus status, out string report)
        {
            report = string.Empty;
            bool retVal = false;

            try
            {
                var fare = DataManager.DataManager.Instance.GetById <Model.Fare>(id);
                if (fare != null)
                {
                    fare.FareStatus = status;
                    fare.Amount     = price;
                    Model.Location fareFinishLocation = new Model.Location(locX, locY);
                    Model.Address  fareFinishAddress  = new Model.Address(addrStreet, addrNumber, addrCity, addrPostalCode);
                    fareFinishLocation.Address = fareFinishAddress.Id;
                    fare.FinishLocation        = fareFinishLocation.Id;
                    DataManager.DataManager.Instance.AddNewEntity <Model.Location>(fareFinishLocation);
                    DataManager.DataManager.Instance.AddNewEntity <Model.Address>(fareFinishAddress);
                    DataManager.DataManager.Instance.UpdateEntity <Model.Fare>(fare);
                    retVal = true;
                }
            }
            catch (Exception ex)
            {
                report = ex.Message;
                retVal = false;
            }
            return(retVal);
        }
示例#11
0
        public bool UpdateCustomerFare(long id,
                                       double locX, double locY,
                                       string addrStreet, int addrNumber, string addrCity, int addrPostalCode,
                                       int type, DateTime date, FareStatus status, string comment, out string report)
        {
            report = string.Empty;
            bool retVal = false;

            try
            {
                var fare = DataManager.DataManager.Instance.GetById <Model.Fare>(id);
                if (fare != null)
                {
                    fare.FareStatus         = status;
                    fare.DesiredVehicleType = (VehicleType)type;
                    fare.DateOfDrive        = date;
                    Model.Comment fareComment;
                    if (fare.Comment != 0)
                    {
                        fareComment = DataManager.DataManager.Instance.GetById <Model.Comment>(fare.Comment);
                        if (fareComment != null)
                        {
                            fareComment.Description   = comment;
                            fareComment.DateOfPublish = DateTime.Now;
                            DataManager.DataManager.Instance.UpdateEntity <Model.Comment>(fareComment);
                        }
                    }
                    else
                    {
                        fareComment      = new Model.Comment(comment);
                        fareComment.Fare = fare.Id;
                        fare.Comment     = fareComment.Id;
                        DataManager.DataManager.Instance.AddNewEntity <Model.Comment>(fareComment);
                        DataManager.DataManager.Instance.UpdateEntity <Model.Fare>(fare);
                    }

                    var location = DataManager.DataManager.Instance.GetById <Model.Location>(fare.StartLocation);
                    if (location != null)
                    {
                        location.X = locX;
                        location.Y = locY;
                        DataManager.DataManager.Instance.UpdateEntity <Model.Location>(location);
                        var address = DataManager.DataManager.Instance.GetById <Model.Address>(location.Address);
                        if (address != null)
                        {
                            address.Street     = addrStreet;
                            address.Number     = addrNumber;
                            address.PostalCode = addrPostalCode;
                            address.City       = addrCity;
                            DataManager.DataManager.Instance.UpdateEntity <Model.Address>(address);
                        }
                    }
                    DataManager.DataManager.Instance.UpdateEntity <Model.Fare>(fare);
                    retVal = true;
                }
            }
            catch (Exception ex)
            {
                report = ex.Message;
                retVal = false;
            }
            return(retVal);
        }
示例#12
0
        public IHttpActionResult UpdateCustomerFare(long id, JObject inputData)
        {
            JToken     t;
            FareStatus status = 0;

            if (inputData.TryGetValue("status", out t))
            {
                Enum.TryParse(t.ToString(), out status);
            }

            string comment = string.Empty;

            if (inputData.TryGetValue("comment", out t))
            {
                comment = t.ToString();
            }
            double locX = 0;

            if (inputData.TryGetValue("locX", out t))
            {
                Double.TryParse(t.ToString(), out locX);
            }
            double locY = 0;

            if (inputData.TryGetValue("locY", out t))
            {
                Double.TryParse(t.ToString(), out locY);
            }
            string addrStreet = string.Empty;

            if (inputData.TryGetValue("addrStreet", out t))
            {
                addrStreet = t.ToString();
            }
            int addrNumber = 0;

            if (inputData.TryGetValue("addrNumber", out t))
            {
                Int32.TryParse(t.ToString(), out addrNumber);
            }
            string addrCity = string.Empty;

            if (inputData.TryGetValue("addrCity", out t))
            {
                addrCity = t.ToString();
            }
            int addrPostalCode = 0;

            if (inputData.TryGetValue("addrPostalCode", out t))
            {
                Int32.TryParse(t.ToString(), out addrPostalCode);
            }

            VehicleType type = 0;

            if (inputData.TryGetValue("vehicleType", out t))
            {
                Enum.TryParse(t.ToString(), out type);
            }

            DateTime date = DateTime.Now;

            if (inputData.TryGetValue("date", out t))
            {
                DateTime.TryParse(t.ToString(), out date);
            }

            string report = string.Empty;

            if (!FareService.UpdateCustomerFare(id, locX, locY, addrStreet, addrNumber, addrCity, addrPostalCode, (int)type, date, status, comment, out report))
            {
                return(new NotFoundWithMessageResult(report));
            }
            return(Ok());
        }