Example #1
0
        public ActionResult CheckToken(CheckTokenModel model) //deviceId and tokenId
        {
            var        context    = new VITVSecondContext();
            DeviceUser deviceUser = context.DeviceUsers.FirstOrDefault(du => du.DeviceId == model.Id && du.LoginToken == model.Token);

            try
            {
                if (deviceUser != null)
                {
                    if (DateTime.Now < deviceUser.ExpiredTime)
                    {
                        return(Json(new { Success = true }));
                    }
                    else
                    {
                        return(Json(new { Success = false, error = 1 }));
                    }
                }
                else
                {
                    return(Json(new { Success = false, error = 0 }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception e)
            {
                return(Json(new { Success = false, error = e.Message }));
            }
        }
Example #2
0
        public IHttpActionResult PostDeviceUser(DeviceUser deviceUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            deviceUser.pass = encrip.Encripta(deviceUser.pass);
            db.DeviceUser.Add(deviceUser);


            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (DeviceUserExists(deviceUser.usuario))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = deviceUser.usuario }, deviceUser));
        }
Example #3
0
        public ActionResult Create(DeviceUser deviceUser, HttpPostedFileBase uploadFile)
        {
            if (ModelState.IsValid)
            {
                if (uploadFile?.ContentLength > 0)
                {
                    var extension = Path.GetExtension(uploadFile.FileName);
                    if (extension?.ToLower() == ".png" || extension?.ToLower() == ".jpg" ||
                        extension?.ToLower() == ".jpeg")
                    {
                        var imageName = Path.GetFileNameWithoutExtension(uploadFile.FileName);
                        imageName = Path.Combine(Server.MapPath("~/Images/") + imageName + extension);
                        uploadFile.SaveAs(imageName);

                        Upload(imageName, extension, ref deviceUser);

                        // Delete file from server after finishing
                        GC.Collect();
                        GC.WaitForPendingFinalizers();
                        System.IO.File.Delete(imageName);
                    }
                    else
                    {
                        ViewBag.ErrorMsg = "File type not supported for upload. Available formats: .pdf, .png, .jpg, .jpeg";
                        return(View("Error"));
                    }
                }

                _db.DeviceUsers.Add(deviceUser);
                _db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(deviceUser));
        }
Example #4
0
        public IHttpActionResult PutDeviceUser(int id, DeviceUser deviceUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != deviceUser.DeviceUserID)
            {
                return(BadRequest());
            }

            db.Entry(deviceUser).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DeviceUserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            DeviceUser deviceUser = db.DeviceUsers.Find(id);

            db.DeviceUsers.Remove(deviceUser);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #6
0
        public virtual bool UnBindDevice(string deviceuser_id, string checkUser)
        {
            DeviceUserDao dao        = new DeviceUserDao(AppConfig.mainDbKey);
            DeviceUser    deviceUser = dao.Get(deviceuser_id);

            if (deviceUser != null)
            {
                deviceUser.Status         = 0;
                deviceUser.LastUpdateTime = DateTime.Now;
                deviceUser.LastUpdateUID  = checkUser;
                dao.Update(deviceUser);


                List <Tuple <string, string, object> > pars = new List <Tuple <string, string, object> >();
                pars.Add(new Tuple <string, string, object>("id", "=", deviceUser.DeviceID));
                List <Device> devices = deviceDao.QueryList(pars);

                if (devices.Count > 0)
                {
                    try
                    {
                        //踢用户
                        SmartBox.Console.Service.ServiceReference1.ManagerServiceClient cli = new Service.ServiceReference1.ManagerServiceClient();
                        cli.ForceQuitClient(devices[0].ID, devices[0].Resource);
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.Error(ex);
                    }
                }

                string send_msg_after_device_unbind = ConfigurationManager.AppSettings["send_msg_after_device_unbind"];
                if (!String.IsNullOrEmpty(send_msg_after_device_unbind) && send_msg_after_device_unbind.ToLower() == "true")
                {
                    SmartBox.Console.Reminder.Reminder reminder = new Reminder.Reminder();

                    try
                    {
                        string s = "";
                        if (devices.Count > 0)
                        {
                            s = devices[0].Model + "(" + deviceUser.DeviceID + ")";
                        }
                        reminder.RemindByMobile(deviceUser.UID, "", "设备挂失", "您的账号与设备" + s + "已解除绑定!");
                    }
                    catch (Exception ex)
                    {
                        Log4NetHelper.Error(ex);
                    }
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
 public ActionResult Edit([Bind(Include = "DeviceUserID,NickName,FirstName,LastName,Password")] DeviceUser deviceUser)
 {
     if (ModelState.IsValid)
     {
         db.Entry(deviceUser).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(deviceUser));
 }
Example #8
0
        public void Upload(string path, string extension, ref DeviceUser deviceUser)
        {
            var locPath   = _blobServices.BlobUrl;
            var type      = "deviceusers-profilepics";
            var imageName = deviceUser.Name + "-profilepic" + extension;

            deviceUser.ProfilePic = locPath + type + "/" + imageName;

            _blobServices.BlobImageUpload(imageName, path, type);
        }
Example #9
0
        public virtual bool PassDevice(string duaid, string checkUser)
        {
            try
            {
                DeviceUserApplyDao dao = new DeviceUserApplyDao(AppConfig.mainDbKey);
                DeviceUserApply    dua = dao.Get(duaid);

                if (dua != null)
                {
                    dua.CheckTime = DateTime.Now;
                    dua.CheckUid  = checkUser;
                    dua.Status    = 1;
                    dao.Update(dua);

                    DeviceUserDao duDao = new DeviceUserDao(AppConfig.mainDbKey);
                    List <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >();
                    pars.Add(new KeyValuePair <string, object>("ID", dua.DeviceUserID));

                    DeviceUser du = duDao.Get(pars);
                    du.Status         = 1;
                    du.LastUpdateTime = DateTime.Now;
                    du.LastUpdateUID  = checkUser;
                    duDao.Update(du);

                    string send_msg_after_device_user_auth = ConfigurationManager.AppSettings["send_msg_after_device_user_auth"];
                    if (!String.IsNullOrEmpty(send_msg_after_device_user_auth) && send_msg_after_device_user_auth.ToLower() == "true")
                    {
                        string send_msg_after_device_user_auth_content = ConfigurationManager.AppSettings["send_msg_after_device_user_auth_content"];
                        if (String.IsNullOrEmpty(send_msg_after_device_user_auth_content))
                        {
                            send_msg_after_device_user_auth_content = "设备审核通过";
                        }
                        SmartBox.Console.Reminder.Reminder reminder = new Reminder.Reminder();
                        try
                        {
                            reminder.RemindByMobile(du.UID, "", "设备审核通过", send_msg_after_device_user_auth_content);
                        }
                        catch (Exception ex)
                        {
                            Log4NetHelper.Error(ex);
                        }
                    }
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Log4NetHelper.Error(ex);
                return(false);
            }
        }
Example #10
0
 public ActionResult Edit([Bind(Include = "DeviceUserId,Name,SalesPersonId,Username,Password,AccessToken,PrintBluetoothAddress,CollectId,ShopId")] DeviceUser deviceUser)
 {
     if (ModelState.IsValid)
     {
         db.Entry(deviceUser).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ShopId = new SelectList(db.Shops, "ShopId", "Name", deviceUser.ShopId);
     return(View(deviceUser));
 }
Example #11
0
 public ActionResult Edit([Bind(Include = "usuario,pass,codMovil,nombres,apellidos,idRegistro")] DeviceUser deviceUser)
 {
     if (ModelState.IsValid)
     {
         deviceUser.pass            = encrip.Encripta(deviceUser.pass);
         db.Entry(deviceUser).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(deviceUser));
 }
Example #12
0
        public async Task <IdentityResult> RegisterUser(DeviceUser userModel)
        {
            IdentityUser user = new IdentityUser
            {
                UserName = userModel.usuario
            };

            var result = await _userManager.CreateAsync(user, userModel.pass);

            return(result);
        }
        public ActionResult Create([Bind(Include = "DeviceUserID,NickName,FirstName,LastName,Password")] DeviceUser deviceUser)
        {
            if (ModelState.IsValid)
            {
                db.DeviceUsers.Add(deviceUser);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(deviceUser));
        }
Example #14
0
        public IHttpActionResult GetDeviceUser(string id)
        {
            DeviceUser deviceUser = db.DeviceUser.Find(id);

            if (deviceUser == null)
            {
                return(NotFound());
            }

            return(Ok(deviceUser));
        }
Example #15
0
        public IHttpActionResult PostDeviceUser(DeviceUser deviceUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.DeviceUsers.Add(deviceUser);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = deviceUser.DeviceUserID }, deviceUser));
        }
Example #16
0
        public virtual bool NotPassDevice(string deviceuserapplyid, string checkUser, GlobalParam parm, string refuse_msg)
        {
            DeviceUserApply dua = DeviceUserApplyDao.Get(deviceuserapplyid);

            SmartBox.Console.Reminder.Reminder reminder = new Reminder.Reminder();
            if (dua != null)
            {
                bool disable_device_after_notpass_device = (parm.ConfigValue == "1");

                dua.CheckTime = DateTime.Now;
                dua.CheckUid  = checkUser;
                dua.Status    = disable_device_after_notpass_device ? 3 : 2;
                DeviceUserApplyDao.Update(dua);


                DeviceUserDao duDao = new DeviceUserDao(AppConfig.mainDbKey);
                List <KeyValuePair <string, object> > pars = new List <KeyValuePair <string, object> >();
                pars.Add(new KeyValuePair <string, object>("ID", dua.DeviceUserID));

                DeviceUser du = duDao.Get(pars);
                du.Status = 2;
                if (disable_device_after_notpass_device)
                {
                    du.NoUseReason = 1;
                }
                duDao.Update(du);

                try
                {
                    string content = "";
                    string send_refuse_msg_after_device_user_auth = ConfigurationManager.AppSettings["send_refuse_msg_after_device_user_auth"];
                    if (send_refuse_msg_after_device_user_auth != null && send_refuse_msg_after_device_user_auth.ToLower() == "true")
                    {
                        content = ConfigurationManager.AppSettings["send_refuse_msg_after_device_user_auth_content"] + refuse_msg;
                    }

                    if (!String.IsNullOrEmpty(content))
                    {
                        reminder.RemindByMobile(du.UID, "", "设备审核未通过", content);
                    }
                }
                catch (Exception ex)
                {
                    Log4NetHelper.Error(ex);
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #17
0
        public ActionResult MobileLogout(string id)
        {
            var        context    = new VITVSecondContext();
            DeviceUser deviceUser = context.DeviceUsers.Where(du => du.DeviceId == id).FirstOrDefault();

            if (deviceUser != null)
            {
                deviceUser.Logged = false;
                context.SaveChanges();
                return(Json(new { Success = true }));
            }
            return(Json(new { Success = false }));
        }
        // GET: DeviceUsers/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DeviceUser deviceUser = db.DeviceUsers.Find(id);

            if (deviceUser == null)
            {
                return(HttpNotFound());
            }
            return(View(deviceUser));
        }
Example #19
0
        public IHttpActionResult DeleteDeviceUser(int id)
        {
            DeviceUser deviceUser = db.DeviceUsers.Find(id);

            if (deviceUser == null)
            {
                return(NotFound());
            }

            db.DeviceUsers.Remove(deviceUser);
            db.SaveChanges();

            return(Ok(deviceUser));
        }
Example #20
0
        // GET: DeviceUsers/Edit/5
        public ActionResult Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DeviceUser deviceUser = db.DeviceUser.Find(id);

            deviceUser.pass = encrip.Desencripta(deviceUser.pass);
            if (deviceUser == null)
            {
                return(HttpNotFound());
            }
            return(View(deviceUser));
        }
Example #21
0
        // GET: DeviceUsers/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DeviceUser deviceUser = db.DeviceUser.Find(id);

            if (deviceUser == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ShopId = new SelectList(db.Shops, "ShopId", "Name", deviceUser.ShopId);
            return(View(deviceUser));
        }
        public async Task <OperationDataResult <DeviceUser> > Edit(int id)
        {
            var core = await _coreHelper.GetCore();

            await using var db = core.DbContextHelper.GetDbContext();

            //var siteDto = await core.SiteRead(id);
            DeviceUser deviceUser = null;
            Site       site       = await db.Sites.SingleOrDefaultAsync(x => x.MicrotingUid == id);

            if (site == null)
            {
                return(null);
            }

            SiteWorker siteWorker = db.SiteWorkers.Where(x => x.SiteId == site.Id).ToList().First();
            Worker     worker     = await db.Workers.SingleAsync(x => x.Id == siteWorker.WorkerId);

            List <Unit> units = db.Units.Where(x => x.SiteId == site.Id).ToList();

            if (units.Any() && worker != null)
            {
                Unit     unit     = units.First();
                Language language = db.Languages.Single(x => x.Id == site.LanguageId);
                deviceUser = new DeviceUser()
                {
                    CustomerNo   = unit.CustomerNo,
                    FirstName    = worker.FirstName,
                    Language     = language.Name,
                    LanguageCode = language.LanguageCode,
                    LanguageId   = site.LanguageId,
                    LastName     = worker.LastName,
                    OtpCode      = unit.OtpCode,
                    SiteId       = site.Id,
                    SiteName     = site.Name,
                    SiteUid      = site.MicrotingUid,
                    UnitId       = unit.Id,
                    UnitUid      = unit.MicrotingUid
                };
                //return new SiteDto((int)site.MicrotingUid, site.Name, worker.FirstName, worker.LastName, (int)unit.CustomerNo, unit.OtpCode ?? 0, (int)unit.MicrotingUid, worker.MicrotingUid);
            }

            return(deviceUser != null
                ? new OperationDataResult <DeviceUser>(true, deviceUser)
                : new OperationDataResult <DeviceUser>(false,
                                                       _localizationService.GetStringWithFormat("DeviceUserParamCouldNotBeEdited", id)));
        }
Example #23
0
        public ActionResult Register(string devicetoken, string deviceid)
        {
            var context = new VITVSecondContext();
            var device  = new DeviceUser {
                UserId      = "35d16a0d-7790-4280-9288-679645c37d71",
                DeviceId    = deviceid,
                DeviceType  = 1,
                DeviceToken = devicetoken,
                ExpiredTime = DateTime.Now,
                Logged      = true
            };

            context.DeviceUsers.Add(device);
            context.SaveChanges();

            return(Json(new { }));
        }
Example #24
0
        public async Task <IHttpActionResult> Register(DeviceUser userModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            IdentityResult result = await _repo.RegisterUser(userModel);

            IHttpActionResult errorResult = GetErrorResult(result);

            if (errorResult != null)
            {
                return(errorResult);
            }

            return(Ok());
        }
Example #25
0
        private void button2_Click(object sender, EventArgs e)
        {
            var user = new DeviceUser()
            {
                BiometricId = 1042,
                Name        = "name"
            };

            var args = new TransactionEventArgs()
            {
                UserData        = user,
                State           = 1,
                TransactionDate = DateTime.Now
            };


            MyDevice_TransactionEvent(this, args);
        }
Example #26
0
        public IHttpActionResult PutDeviceUser(string id, DeviceUser deviceUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != deviceUser.usuario)
            {
                return(BadRequest());
            }

            //  db.Entry(deviceUser).State = EntityState.Modified;


            try
            {
                // db.SaveChanges();

                var usuario = db.DeviceUser.Where(u => u.usuario == id && u.codMovil.Contains(deviceUser.codMovil)).SingleOrDefault();
                if (usuario != null)
                {
                    usuario.idRegistro      = deviceUser.idRegistro;
                    db.Entry(usuario).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DeviceUserExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Example #27
0
        public ActionResult AddDevice(Guid id, string deviceId)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = _context.Users.Find(id);

            if (user == null)
            {
                return(NotFound("User not found"));
            }

            var device = _context.Devices.Find(deviceId);

            if (device == null)
            {
                return(NotFound("Device not found"));
            }

            if (_context.DeviceUsers.Any(x => x.User == user && x.Device == device))
            {
                return(Conflict("User already has device"));
            }

            var deviceUser = new DeviceUser()
            {
                Id     = new Guid(),
                Device = device,
                User   = user
            };

            _context.DeviceUsers.Add(deviceUser);
            _context.SaveChanges();

            return(Created("devices", user));
        }
Example #28
0
        public ActionResult IsAuth(string un, string pw, string id, string dt)
        {
            var context = new VITVSecondContext();

            un = un.Trim();
            un = Regex.Replace(un, @"\s", "");
            ApplicationUser user = UserManager.FindByName(un);

            if (user != null)
            {
                bool checkPass = UserManager.CheckPassword(user, pw);

                if (checkPass)
                {
                    var loginToken = Guid.NewGuid().ToString();

                    var deviceUser = context.DeviceUsers.Find(user.Id, id, 0);
                    if (deviceUser == null)
                    {
                        deviceUser = new DeviceUser
                        {
                            DeviceId = id,
                        };
                        context.DeviceUsers.Add(deviceUser);
                    }
                    deviceUser.DeviceToken = dt;
                    deviceUser.UserId      = user.Id;
                    deviceUser.LoginToken  = loginToken;
                    deviceUser.ExpiredTime = DateTime.Now.AddDays(7);
                    deviceUser.Logged      = true;

                    context.SaveChanges();
                    return(Json(new { Success = true, Token = loginToken, Id = user.Id }));
                }
                return(Json(new { Success = false, Token = "" }));
            }
            return(Json(new { Success = false, Token = "" }));
        }
Example #29
0
        public async Task RequestAccess(ClaimsPrincipal User, int DeviceId)
        {
            var id     = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var name   = User.FindFirstValue(ClaimTypes.Name);
            var device = await db.Device.Where(d => d.Id == DeviceId).FirstOrDefaultAsync();

            if (!(device is Device) || string.IsNullOrEmpty(id))
            {
                return;
            }

            var request = await db.DeviceUser.Where(d => d.DeviceId == DeviceId && d.User == id).FirstOrDefaultAsync();

            if (!(request is DeviceUser))
            {
                request = new DeviceUser()
                {
                    DeviceId = DeviceId,
                    User     = id,
                    Status   = DeviceUserStatus.Requested,
                    Token    = Guid.NewGuid().ToString()
                };
                db.Add(request);
                await db.SaveChangesAsync();
            }

            var url = string.Format("{0}://{1}/Device/GrantAccess/?Id={2}&Token={3}",
                                    httpContextAccessor.HttpContext.Request.Scheme,
                                    httpContextAccessor.HttpContext.Request.Host,
                                    request.Id,
                                    request.Token);

            await emailSender.SendEmailAsync("*****@*****.**",
                                             "Toegang tot apparaat",
                                             $"De gebruiker {name} wil toegang tot {device.Identifier}. <a href='{url}'>Geef toegang</a>");
        }
Example #30
0
        public IHttpActionResult GetDeviceUser(int id)
        {
            DeviceUser deviceUser = db.DeviceUsers.Find(id);

            return(Ok(deviceUser));
        }