Exemple #1
0
        public LockModel CreateLock(string lockName, IList <int> allowedUsers)
        {
            this.LockData.Add(
                this.lockId,
                new LockInfo
            {
                LockId = this.lockId,
                Name   = lockName,
                State  = "Locked"
            });

            foreach (int user in allowedUsers)
            {
                this.LockAccessData.Add(
                    new LockAccess
                {
                    Id     = this.accessId,
                    LockId = this.lockId,
                    UserId = user
                });
                this.accessId++;
            }

            var lockModel = new LockModel
            {
                LockId       = this.lockId,
                Name         = lockName,
                State        = "Locked",
                AllowedUsers = allowedUsers
            };

            this.lockId++;
            return(lockModel);
        }
        public void LockClick(bool e, BusStatusModel bus)
        {
            Log.Verbose("name: {@bus.Name} toggle: {@e}", bus.Name, e);
            var lockDTO = new LockModel();

            lockDTO.Name          = bus.Name;
            lockDTO.IsStateLocked = e;
            SigR !.SetLock(lockDTO);
        }
        public string Save()
        {
            var model = new LockModel
            {
                Content  = View.Content,
                LockDate = View.LockDate,
                IsLock   = View.IsLock
            };

            return(Model.SaveLock(model));
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="traName"></param>
        /// <param name="traPHI"></param>
        /// <param name="lockAsModel"></param>
        public TransponderModel(string traName, string traPHI, LockModel lockAsModel)
        {
            lockModels = new ObservableCollection <LockModel>();

            if (lockAsModel != null)
            {
                lockModels.Add(lockAsModel);
            }

            TransponderName = traName;
            TransponderPHI  = traPHI;
        }
Exemple #5
0
        public HttpResponseMessage CreateLock()
        {
            var statusCode   = HttpStatusCode.OK;
            var lockResponse = new LockResponseContract();

            try
            {
                LockParameters parameters = LockParameters.ParsePutLockParameters(HttpContext.Current.Request.QueryString);
                lockResponse.UserId = parameters.UserId;

                // Check if the user exists.
                UserModel user = this.userDal.GetUser(parameters.UserId);

                // Check if users specified in access list exist.
                foreach (int allowedUser in parameters.AllowedUsers)
                {
                    this.userDal.GetUser(allowedUser);
                }

                // If the user is an admin they can create a lock with an access list.
                if (user.IsAdmin)
                {
                    LockModel lockModel = this.lockDal.CreateLock(parameters.LockName, parameters.AllowedUsers);
                    if (lockModel == null)
                    {
                        lockResponse.Message = "Failed to create the lock.";
                    }

                    lockResponse.LockState    = lockModel.State;
                    lockResponse.LockId       = lockModel.LockId;
                    lockResponse.LockName     = parameters.LockName;
                    lockResponse.AllowedUsers = parameters.AllowedUsers;
                    lockResponse.Message      = "Lock created successfully.";
                }
                else
                {
                    lockResponse.Message = "User unauthorized.";
                    statusCode           = HttpStatusCode.Unauthorized;
                }
            }
            catch (InvalidParameterException paramException)
            {
                lockResponse.Message = paramException.Message;
                statusCode           = HttpStatusCode.BadRequest;
            }
            catch (UserNotFoundException userException)
            {
                lockResponse.Message = userException.Message;
            }

            return(Request.CreateResponse(statusCode, lockResponse, formatter));
        }
Exemple #6
0
        public ActionResult RigAdminIsolationLockDelete(LockModel model)
        {
            RigAdminManageModel manageRigModel = (RigAdminManageModel)Session["manageRigModel"];

            if (ModelState.IsValid)
            {
                IIrmaServiceDataModel dataModel = IrmaServiceSystem.GetServiceModel(IrmaConstants.IrmaPobModels.IsolationLock);
                LockModel             entity    = dataModel.GetItem(string.Format("id={0}", model.id), "id");
                if (entity != null)
                {
                    bool bResult = dataModel.Delete(entity);
                }
            }

            return(PartialView("RigAdminIsolationLockPartial", manageRigModel.IsolationLocks));
        }
Exemple #7
0
        /// <summary>
        /// 点击菜单项:锁定,弹出解锁对话框
        /// </summary>
        private void Lock()
        {
            var model = new LockModel();
            var view  = model.view;

            view.Confirm.Click += (sender, args) =>
            {
                if (!model.Unlock())
                {
                    return;
                }

                CloseDialog(view);
            };

            model.Init();
            view.ShowDialog();
        }
Exemple #8
0
        public ActionResult RigAdminIsolationLockAdd(LockModel model)
        {
            RigAdminManageModel manageRigModel = (RigAdminManageModel)Session["manageRigModel"];

            if (ModelState.IsValid)
            {
                LookupListModel <dynamic> lkpList = UtilitySystem.GetLookupList("YesNoList");
                int listId = 0;
                if (!int.TryParse(model.Available, out listId))
                {
                    listId = 0;
                }
                model.Available = (string)lkpList.GetDisplayValue(listId);

                model = IrmaServiceSystem.Add(IrmaConstants.IrmaPobModels.IsolationLock, model, true);
            }

            return(PartialView("RigAdminIsolationLockPartial", manageRigModel.IsolationLocks));
        }
Exemple #9
0
        public async Task <IActionResult> CreateAsync([FromBody] LockModel model)
        {
            var toCreate = new Lock
            {
                Id           = Guid.NewGuid(),
                CreatedDate  = DateTime.UtcNow,
                Name         = model.Name,
                UniqueNumber = model.UniqueNumer
            };
            var userId = _identityService.GetUserIdentity();
            var @lock  = await _locksService.TryCreateAsync(toCreate, userId).ConfigureAwait(false);

            if (@lock == null)
            {
                return(Conflict(new ErrorResponse {
                    Error = $"Lock with number {model.UniqueNumer} already exists"
                }));
            }

            return(Created(Url.RouteUrl(@lock.Id), @lock.Id));
        }
        public async Task <IHttpActionResult> SetLockedUser(LockModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByNameAsync(model.EmployeeId);

                if (user == null)
                {
                    return(BadRequest("User is not Exist"));
                }

                user.isLocked = model.isLocked;

                var result = await UserManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    return(Ok("Successfully locked User"));
                }

                return(BadRequest("Something is Problem"));
            }
            return(BadRequest("Internal Server Error"));
        }
Exemple #11
0
        /// <summary>
        /// 点击菜单项:锁定,弹出解锁对话框
        /// </summary>
        public void lockWindow()
        {
            var model = new LockModel("解除屏幕锁定");

            model.showDialog();
        }
Exemple #12
0
 public Lock(ReaderWriterLockSlim rwl, LockModel model)
 {
     _locker = rwl;
     _model  = model;
 }
Exemple #13
0
        public static void Main(string[] args)
        {
            LockModel lockModel = new LockModel();

            if (args[0] == "daily")
            {
                JavLibraryHelper.DoDailyUpdate(200, true);
            }

            if (args[0] == "full")
            {
                JavLibraryHelper.DoFullScan(true);
            }

            if (args[0] == "single")
            {
                JavLibraryHelper.DoFullScanSingleThread(true);
            }

            if (args[0] == "refresh")
            {
                int page = 15;

                int.TryParse(args[1], out page);

                JavLibraryHelper.DoDailyRefresh(page, true);
            }

            if (args[0] == "faviscan")
            {
                var           favi = "c:\\setting\\Favi.txt";
                List <string> urls = new List <string>();

                if (File.Exists(favi))
                {
                    using (StreamReader sr = new StreamReader(favi))
                    {
                        while (!sr.EndOfStream)
                        {
                            var url = sr.ReadLine();

                            urls.Add(url);
                        }
                    }
                }

                if (urls.Count > 0)
                {
                    JavLibraryHelper.DoFaviScan(urls, false);
                }
            }

            if (args[0] == "dolist")
            {
                var urlList = args[1].Split(',').ToList();
                var asc     = bool.Parse(args[2]);
                var limit   = int.Parse(args[3]);

                if (urlList.Count > 0)
                {
                    JavLibraryHelper.DoListSearch(urlList, asc, limit, false);
                }
            }

            if (args[0] == "certain")
            {
                var titleArry = args[1].Split(',');
                var urlArray  = args[2].Split(',');

                Dictionary <string, string> dic = new Dictionary <string, string>();

                for (int i = 0; i < titleArry.Length; i++)
                {
                    dic.Add(urlArray[i], titleArry[i]);
                }

                JavLibraryHelper.DoCertainCategory(dic, true);
            }
        }
Exemple #14
0
 public async Task LockAck(LockModel locker)
 {
     await Clients.Group(SignalRGroups.Ui).SendAsync(SignalRCommands.LockRigAck, locker);
 }
Exemple #15
0
 public async Task LockRig(LockModel locker)
 {
     await Clients.Group(locker.Name).SendAsync(SignalRCommands.LockRig, locker);
 }
Exemple #16
0
        public LockModel Lock(string lockname)
        {
            LockModel @lock = new LockModel();

            Etcdserverpb.RangeResponse oldlockers = null;
            //use local cache speed up.
            lock (_lockerList)
            {
                var locallst = _lockerList.Where(c => c.Name == lockname).ToList();
                if (locallst.Count > 0)
                {
                    @lock.Result = LockResult.LockExists;
                    @lock.Id     = locallst.FirstOrDefault().Id;
                    return(@lock);
                }
            }
            //confirm lock not exists.
            try
            {
                oldlockers = _client.GetAsync($"/locks/{lockname}").Result;
            }
            catch (Exception ex)
            {
                @lock.Id     = 0;
                @lock.Result = LockResult.Fail;
                lock (_client)
                {
                    _client = bestClient(_clients);
                }
                return(@lock);
            }

            //return lockid to locker .
            if (oldlockers?.Kvs.Count > 0)
            {
                @lock.Id     = long.Parse(oldlockers.Kvs.FirstOrDefault().Value.ToStringUtf8());
                @lock.Result = LockResult.LockExists;
            }
            else
            {
                //creat lock id
                TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
                @lock.Id     = (long)ts.TotalMilliseconds;
                @lock.Result = LockResult.Success;
                try
                {
                    Etcdserverpb.LeaseGrantRequest request = new Etcdserverpb.LeaseGrantRequest();
                    request.TTL = _locklease;
                    var lease = _client.LeaseGrant(request);
                    Etcdserverpb.PutRequest put = new Etcdserverpb.PutRequest();
                    put.Key   = Google.Protobuf.ByteString.CopyFromUtf8(($"/locks/{lockname}"));
                    put.Value = Google.Protobuf.ByteString.CopyFromUtf8(@lock.Id.ToString());
                    put.Lease = lease.ID;
                    _client.Put(put);
                    //add to cache and srv .
                    _client.Put($"/locks/{lockname}", @lock.Id.ToString());
                    lock (_lockerList)
                    {
                        _lockerList.Add(new ZkLockerWatcher()
                        {
                            Event = null, Id = @lock.Id, Name = lockname
                        });
                    }
                }
                catch (Exception ex)
                {
                    lock (_client)
                    {
                        _client = bestClient(_clients);
                    }
                    @lock.Result = LockResult.Fail;
                }
            }
            return(@lock);
        }