Ejemplo n.º 1
0
 public Task <IApiResult> GetGeofenceByID(P_OnlyOneID arg)
 {
     return(Task.Run(() => {
         IApiResult ar = new IApiResult();
         try
         {
             using (DAL.CarRentEntities db = new DAL.CarRentEntities())
             {
                 var query = from g in db.GeoFence
                             join u in db.Users
                             on g.UserID equals u.UserID
                             where g.GeofenceID == arg.id
                             select new { g.GeofenceID, g.FenceName, g.FenceType, g.UserID, g.Bounds, u.UserName, g.Created };
                 ar.result = query.FirstOrDefault();
                 ar.result = ar.result ?? new { };
                 ar.message = "success!";
                 return ar;
             }
         }
         catch (Exception ex)
         {
             ar.code = StatusCode.error;
             ar.message = ex.Message;
             Log.Error(this, ex);
         }
         return ar;
     }));
 }
Ejemplo n.º 2
0
        public async Task <IApiResult> StartRental(int leaseid)
        {
            P_OnlyOneID only = new P_OnlyOneID();

            only.id = leaseid;
            return(await ApiAsync(only, new BLL.DeviceManager.Device().StartRental));
        }
Ejemplo n.º 3
0
 public Task <IApiResult> DelGeofence(P_OnlyOneID arg)
 {
     return(Task.Run(() =>
     {
         IApiResult ar = new IApiResult();
         try
         {
             using (DAL.CarRentEntities db = new DAL.CarRentEntities())
             {
                 DAL.GeoFence gf = new DAL.GeoFence()
                 {
                     GeofenceID = arg.id
                 };
                 db.GeoFence.Attach(gf);
                 db.GeoFence.Remove(gf);
                 var i = db.SaveChanges();
                 ar.message = $"Deleted {i} data";
             }
         }
         catch (Exception ex)
         {
             ar.message = ex.Message;
             ar.code = Interface.StatusCode.error;
         }
         return ar;
     }));
 }
Ejemplo n.º 4
0
 public Task <IApiResult> GetGeofenceList(P_OnlyOneID arg)
 {
     return(Task.Run(() =>
     {
         IApiResult ar = new IApiResult();
         try
         {
             using (DAL.CarRentEntities db = new DAL.CarRentEntities())
             {
                 var geos = from g in db.GeoFence
                            where g.UserID == arg.id && g.Deleted == false
                            select new { g.GeofenceID, g.FenceName, g.Created, g.Description };
                 var list = geos.ToList();
                 ar.result = list;
                 ar.message = $"共查询到{list.Count}条数据.";
             }
         }
         catch (Exception ex)
         {
             Log.Error(this, ex);
             ar.message = ex.Message;
             ar.code = Interface.StatusCode.error;
         }
         return ar;
     }));
 }
Ejemplo n.º 5
0
 public Task <IApiResult> ProofReview(P_OnlyOneID arg)
 {
     return(Task.Run(() =>
     {
         IApiResult ar = new IApiResult();
         try
         {
             using (DAL.CarRentEntities db = new DAL.CarRentEntities())
             {
                 var rr = db.RechargeRecord.Where(r => r.RID == arg.id && r.IsCheck == false).FirstOrDefault();
                 var user = db.Users.First(u => u.UserID == rr.UserID);
                 if (rr != null)
                 {
                     rr.IsCheck = true;
                     rr.CheckTime = DateTime.Now;
                     var money = user.MoneyCount;
                     user.MoneyCount = money + rr.Money;
                     db.SaveChanges();
                 }
                 ar.message = "Has been reviewed.";
             }
         }
         catch (Exception ex)
         {
             Log.Error(this, ex);
             ar.message = ex.Message;
             ar.code = StatusCode.error;
         }
         return ar;
     }));
 }
Ejemplo n.º 6
0
        public async Task <IApiResult> ProofReview(int id)
        {
            P_OnlyOneID o = new P_OnlyOneID()
            {
                id = id
            };

            return(await ApiAsync(o, new BLL.UsersManager.Users().ProofReview));
        }
Ejemplo n.º 7
0
        public Task <IApiResult> DeleteRecharge(int id)
        {
            P_OnlyOneID pars = new P_OnlyOneID()
            {
                id = id
            };

            return(ApiAsync(pars, new BLL.UsersManager.Users().DeleteRecharge));
        }
Ejemplo n.º 8
0
        public Task <IApiResult> StartRental(P_OnlyOneID arg)
        {
            return(Task.Run(() =>
            {
                IApiResult hr = new IApiResult();
                using (CarRentEntities db = new CarRentEntities())
                {
                    try
                    {
                        var leaser = (from l in db.LeaseRecord where l.LeaseID == arg.id && l.Status == 1 select l).SingleOrDefault();
                        if (leaser == null)
                        {
                            hr.code = StatusCode.failure;
                            hr.message = "Has been rented."; //已经租了
                            return hr;
                        }
                        var dev = (from d in db.Devices where d.DeviceID == leaser.DeviceID select d).SingleOrDefault();
                        var user = db.Users.Find(dev.UserID);
                        if (user.MoneyCount < user.ActivationCount)
                        {
                            hr.code = StatusCode.failure;
                            hr.message = "Insufficient balance."; //用户余额不足
                            return hr;
                        }
                        dev.Status = 1;  //Status (1:已租,0:未租)

                        //var leaser = (from lr in db.LeaseRecord where lr.LeaseID == arg.id select lr).Single();

                        leaser.Status = Mgoo.CarRent.Common.Lib.CarStatus.BeingRented.toInt();  //1 已申请,等待确认,2 正在出租,3出租完成,4已拒绝
                        leaser.StartTime = DateTime.Now;

                        //db.LeaseRecord.UpdateAsync(l => l.LeaseID==arg.id, l=> new LeaseRecord { Status = 2 });

                        db.Entry(leaser).State = System.Data.Entity.EntityState.Modified;
                        db.Entry(dev).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();
                        hr.message = "success!";
                    }
                    catch (Exception ex)
                    {
                        hr.message = ex.Message;
                        hr.code = StatusCode.error;
                    }
                }
                return hr;
            }));
        }
Ejemplo n.º 9
0
 public Task <IApiResult> DeleteRecharge(P_OnlyOneID arg)
 {
     return(Task.Run(() =>
     {
         IApiResult ar = new IApiResult();
         try
         {
             using (DAL.CarRentEntities db = new DAL.CarRentEntities())
             {
                 var rr = db.RechargeRecord.First(r => r.RID == arg.id);
                 rr.Deleted = true;
                 db.SaveChanges();
                 ar.message = "success!";
             }
         }
         catch (Exception ex)
         {
             Log.Error(this, ex);
             ar.message = ex.Message;
             ar.code = StatusCode.error;
         }
         return ar;
     }));
 }
Ejemplo n.º 10
0
 public async Task <IApiResult> GetGeofenceByUserID(int userid)
 {
     Models.Parameter.P_OnlyOneID oneid = new P_OnlyOneID();
     oneid.id = userid;
     return(await ApiAsync(oneid, new BLL.GeofenceManager.Geofence().GetGeofenceByUserID));
 }
Ejemplo n.º 11
0
 //[ResponseType(typeof(Models.Return.RGetCarRequest))]
 public async Task <IApiResult> DelGeofence(int fenceid)
 {
     Models.Parameter.P_OnlyOneID oneid = new P_OnlyOneID();
     oneid.id = fenceid;
     return(await ApiAsync(oneid, new BLL.GeofenceManager.Geofence().DelGeofence));
 }