private async void OnGUI() { if (!_isWalked) { _scanStartVector = EditorGUILayout.Vector3Field("Scan Start Vector", _scanStartVector); _scanX = EditorGUILayout.IntField("scan x", _scanX); _scanY = EditorGUILayout.IntField("scan y", _scanY); var click = GUILayout.Button("Bake"); if (!click) { return; } _isWalked = true; Work = CurrentWork.Scan; SceneName = SceneManager.GetActiveScene().name; _mapImageMaker.Setting(_scanStartVector, _scanX, _scanY); await Task.Run(_mapImageMaker.ScanMap); while (Work != CurrentWork.MakeHeader) { await Task.Delay(1000); } Debug.Log("MakeHeader"); await Task.Run(_mapImageMaker.PrintBmpFile); Work = CurrentWork.Ready; } else { switch (Work) { case CurrentWork.Ready: _isWalked = false; break; case CurrentWork.Scan: GUILayout.Label("[ON RAY CAST]"); GUILayout.Label($"[CURRENT WORK POINT] X:{_curX}/{_scanX} Y:{_curY}/{_scanY}"); break; case CurrentWork.MakeHeader: GUILayout.Label("[Make Header]"); break; case CurrentWork.PrintPixel: GUILayout.Label("[Print pixel to bmp file...]"); GUILayout.Label($"[CURRENT WORK POINT] X:{_curX}/{_scanX} Y:{_curY}/{_scanY}"); break; case CurrentWork.WriteFile: GUILayout.Label("[Write bmp file...]"); break; default: throw new ArgumentOutOfRangeException(); } } }
public void TrimAndUppercaseFirst() { Email = Email?.TrimAndUppercaseFirst(); Skype = Skype?.TrimAndUppercaseFirst(); LinkedIn = LinkedIn?.TrimAndUppercaseFirst(); DesirablePosition = DesirablePosition.TrimAndUppercaseFirst(); ExperienceAtITLab = ExperienceAtITLab.TrimAndUppercaseFirst(); ProfessionalPurposes = ProfessionalPurposes.TrimAndUppercaseFirst(); CurrentPosition = CurrentPosition.TrimAndUppercaseFirst(); CurrentWork = CurrentWork.TrimAndUppercaseFirst(); EmploymentDuration = EmploymentDuration.TrimAndUppercaseFirst(); }
private bool CheckMe(decimal?workerId) { if (!workerId.HasValue) { ShowMessage(string.Format("К пользователю '{0}' не привязан работник. Невозможно создать выполнение работы", WMSEnvironment.Instance.AuthenticatedUser.GetSignature())); return(false); } if (!OpenCloseInArgumentArgument.Get(_context)) { return(true); } var workerFilter = string.Format("{0} = {1} and {2} = {3} and {4} is null" , Working.WORKERID_RPropertyName , workerId.Value , Working.WORKID_RPropertyName , CurrentWork.GetKey() , Working.WORKINGTILLPropertyName); var warehouseCode = WarehouseCode.Get(_context); var filter = GetWorkersFilter(false); // в данном случае неважно, есть ли working filter += (!string.IsNullOrEmpty(filter) ? " and " : string.Empty) + string.Format("(workerid = {0})", workerId); Worker[] items; using (var mgr = IoC.Instance.Resolve <IBaseManager <Worker> >()) items = mgr.GetFiltered(filter, GetModeEnum.Partial).ToArray(); if (items.Length == 0) { ShowMessage( string.Format( "Сотрудник (код '{0}') не существует или не привязан к складу (код '{1}') на даты работ", workerId, warehouseCode)); return(false); } using (var mgr = IoC.Instance.Resolve <IBaseManager <Working> >()) { var workingItems = mgr.GetFiltered(workerFilter, GetModeEnum.Partial).ToArray(); if (workingItems.Length > 0) { var action = ShowMessage(string.Format("Сотрудник '{0}' уже выполняет работу (код '{1}'). Создать новую детализацию?", items.FirstOrDefault().WorkerFIO, CurrentWork.GetKey()), "Внимание!", MessageBoxButton.YesNo, MessageBoxImage.Warning); return(action == MessageBoxResult.Yes); } } return(true); }
protected override void UpdateCore(float elapseSeconds, float realElapseSeconds) { if (CurrentWork.WorkStatus == WorkStatus.Running) { CurrentWork.Update(elapseSeconds, realElapseSeconds); } if (CurrentWork.WorkStatus == WorkStatus.Complete) { if (CurrentWorkIndex + 1 < Works.Count) { CurrentWorkIndex++; CurrentWork.Start(); } } }
private bool CloseMyWorkings() { var workerId = WMSEnvironment.Instance.WorkerId; if (!CheckMe(workerId)) { return(false); } var workerFilter = string.Format("{0} = {1} and {2} = {3} and {4} is null" , Working.WORKERID_RPropertyName , workerId , Working.WORKID_RPropertyName , CurrentWork.GetKey() , Working.WORKINGTILLPropertyName); try { using (var mgr = IoC.Instance.Resolve <IBaseManager <Working> >()) { var workings = mgr.GetFiltered(workerFilter, GetModeEnum.Partial).ToArray(); foreach (var working in workings) { working.WORKINGTILL = GetCorrectDate(); } mgr.Update(workings); } return(true); } catch (Exception ex) { var message = ExceptionHelper.GetErrorMessage(ex); _log.Warn(message, ex); ShowMessage(message, "Ошибка при добавлении выполнения работ"); return(false); } }
private bool AddMe() { var workerId = WMSEnvironment.Instance.WorkerId; try { if (!ValidateWorkingByWorkerId(workerId)) { return(false); } if (!CheckMe(workerId)) { return(false); } var w = new Working { WORKERID_R = workerId, WORKID_R = CurrentWork.GetKey <decimal>(), WORKINGFROM = GetCorrectDate(), TruckCode = WMSEnvironment.Instance.TruckCode, WORKINGADDL = false }; using (var mgr = IoC.Instance.Resolve <IBaseManager <Working> >()) mgr.Insert(ref w); } catch (Exception ex) { var message = ExceptionHelper.GetErrorMessage(ex); _log.Warn(message, ex); ShowMessage(message, "Ошибка при добавлении сотрудника"); return(false); } return(true); }
private string GetWorkersFilter(bool freeOnly) { return(RclShowWorkManageActivity.GetWorkersFilter(CurrentWork.GetKey <decimal?>(), WarehouseCode.Get(_context), freeOnly)); }
protected override void StartCore() { base.StartCore(); CurrentWork.Start(); }