public static WorkTask ToEntity(this NewWorkTaskModel model) { model.Valid(); //验证Task参数是否有效 var entity = new WorkTask() { Outline = model.Outline, Type = (int)model.Type, Status = (int)WorkTaskStatus.Created, Desc = model.Desc, MeetingId = model.MeetingId, ProjectId = model.ProjectId, Sponsor = model.Sponsor, Supervisor = model.Supervisor, Executor = model.Executor, Source = model.Source.HasValue ? (int)model.Source.Value : (int)WorkTaskSource.Person, Priority = model.Priority.HasValue ? (int)model.Priority.Value : (int)WorkTaskPriority.Normal, Urgency = model.Urgency.HasValue ? (int)model.Urgency.Value : (int)WorkTaskUrgency.Low, Importance = model.Importance.HasValue ? (int)model.Importance.Value : (int)WorkTaskImportance.Low, EndTime = model.EndTime, StartTime = model.StartTime, CreatedTime = DateTime.Now }; return(entity); }
public async Task <ActionResult <WorkTask> > PostWorkTask(WorkTaskDTO workTaskDto) { var wTask = _context.WorkTasks.Where(c => c.TaskName == workTaskDto.TaskName).FirstOrDefault(); if (wTask != null) { return(Conflict(new RespStatus { Status = "Failure", Message = "TaskName Already Exists" })); } WorkTask workTask = new WorkTask { SubProjectId = workTaskDto.SubProjectId, TaskName = workTaskDto.TaskName, TaskDesc = workTaskDto.TaskDesc }; _context.WorkTasks.Add(workTask); await _context.SaveChangesAsync(); return(Ok(new RespStatus { Status = "Success", Message = "Work-Task Created!" })); }
private SourceChanges FetchDocumentsUsingWorkTask( SqlDatabaseConnectorJobConfiguration config, WorkTask workTask) { Log.Logger.Information($"{config.JobName}: Fetching documents using ids in worktask: {workTask.Id}"); try { //Get the documents from the data view var documents = FetchDocumentsRecursivly( config, config.MainTable.PrimaryKeyName, config.MainTable.PrimaryKeyIsInteger, workTask.Instructions); //marks the work task as completed (deletes the task) _workTaskService.TaskCompleted(workTask); //_stateService.SaveState(jobState, true); return(new SourceChanges(documents, new List <Field>())); } catch (Exception e) { Log.Logger.Warning($"Reverting work task to its original state due to error ({e.Message}"); _workTaskService.RevertTask(workTask); var state = GetCurrentJobState(config); state.BatchCount++; _stateService.SaveState(state); throw; } }
public static WorkTask ToEntity(this WorkTaskModel model) { if (model == null) { Log.Error("参数无效。"); throw new InvalidOperationException("参数无效。"); } var entity = new WorkTask() { Id = model.Id, Outline = model.Outline, Type = (int)model.Type, Status = (int)model.Status, Desc = model.Desc, MeetingId = model.MeetingId, ProjectId = model.ProjectId, Sponsor = model.Sponsor, Supervisor = model.Supervisor, Executor = model.Executor, Source = (int)model.Source, Priority = (int)model.Priority, Urgency = (int)model.Urgency, Importance = (int)model.Importance, Workload = model.Workload, StartTime = model.StartTime, EndTime = model.EndTime, CompleteTime = model.CompleteTime, CloseTime = model.CloseTime, CreatedTime = model.CreatedTime }; return(entity); }
public async Task <ContentResult> AheadTvTelegramAndBuildHall() { try { byte[] bytes = new byte[Request.InputStream.Length]; Request.InputStream.Read(bytes, 0, bytes.Length); string req = System.Text.Encoding.Default.GetString(bytes); JObject jo = (JObject)JsonConvert.DeserializeObject(req); string queueID = jo["queueID"].ToString(); string wh = jo["warehouse"].ToString(); string locaddrs = jo["locaddrs"].ToString(); string devicecode = jo["devicecode"].ToString(); int qid = Convert.ToInt32(queueID); int warehouse = Convert.ToInt32(wh); int code = Convert.ToInt32(devicecode); WorkTask queue = await new CWTask().FindQueueAsync(qid); Device hall = await new CWDevice().FindAsync(d => d.Warehouse == warehouse && d.DeviceCode == code); Location loc = await new CWLocation().FindLocationAsync(l => l.Warehouse == warehouse && l.Address == locaddrs); new CWTask().AheadTvTelegramAndBuildHall(queue, loc, hall); } catch (Exception ex) { log.Error(ex.ToString()); } return(Content("success")); }
public void SaveWorkTaskToDB(WorkTask workTaskToSave) { int index = -1; if (worktaskCollection != null) { index = worktaskCollection.IndexOf(workTaskToSave); } else { worktaskCollection = new ObservableCollection <WorkTask>(); } if (index > -1) { worktaskCollection[index] = workTaskToSave; } else { // wenn es diesen Worktask noch nicht geben sollte, dann kann er hiermit hinzugefügt werden dellAppDB.WorkTasks.InsertOnSubmit(workTaskToSave); worktaskCollection.Add(workTaskToSave); } dellAppDB.SubmitChanges(); workTaskViewModel = null; }
private void WorkTaskDataBind(WorkTask workTask) { workTask.Title = _Context.Request.Params["info_Title"]; DateTime startdt; if (DateTime.TryParse(_Context.Request.Params["info_StartDate"], out startdt)) { workTask.StartDate = startdt; } DateTime enddt; if (DateTime.TryParse(_Context.Request.Params["info_EndDate"], out enddt)) { workTask.EndDate = enddt; } workTask.Priority = WTPriority.GetById(Convert.ToInt32(_Context.Request.Params["info_Priority"])); workTask.Status = WTStatus.GetById(Convert.ToInt32(_Context.Request.Params["info_Status"])); workTask.Description = _Context.Request.Params["info_Description"]; workTask.Remark = _Context.Request.Params["info_Remark"]; workTask.Content = _Context.Request.Params["info_Content"]; workTask.Account = _Operator; string errorname; List <Account> accounts = BllInstance.AccountBllInstance.GetAccountByNameString( _Context.Request.Params["info_Responsibles"] ?? string.Empty, out errorname); if (!string.IsNullOrEmpty(errorname)) { throw new Exception("系统中没有找到" + errorname + ",请确认系统中有这些人员的信息。"); } workTask.Responsibles = accounts; }
public async Task <ContentResult> DealTVUnloadTask() { try { byte[] bytes = new byte[Request.InputStream.Length]; Request.InputStream.Read(bytes, 0, bytes.Length); string req = System.Text.Encoding.Default.GetString(bytes); JObject jo = (JObject)JsonConvert.DeserializeObject(req); string queueID = jo["queueID"].ToString(); string itaskID = jo["taskID"].ToString(); int mtskID = Convert.ToInt32(queueID); int tid = Convert.ToInt32(itaskID); CWTask cwtask = new CWTask(); WorkTask queue = await cwtask.FindQueueAsync(mtskID); ImplementTask task = await cwtask.FindITaskAsync(tid); cwtask.DealTVUnloadTask(task, queue); } catch (Exception ex) { log.Error(ex.ToString()); } return(Content("success")); }
WorkTaskDTO IWorkTasksService.RemoveWorkTask(int id) { WorkTask removedTask = _unitOfWork.WorkTasks.Delete(id); _unitOfWork.Save(); return(_mapper.Map <WorkTaskDTO>(removedTask)); }
private void UpdateWorkTask() { List <Performance.Error> errors = new List <Performance.Error>(); try { WorkTask workTask = new WorkTask(); workTask.Pkid = Convert.ToInt32(_Context.Request.Params["Pkid"]); workTask.Responsibles = new List <Account>(); WorkTaskDataBind(workTask); using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required)) { BllInstance.WorkTaskBllInstance.UpdateWorkTask(workTask, Convert.ToBoolean( _Context.Request.Params["info_IfEmail"])); ts.Complete(); } } catch (Exception e) { errors.Add(new Performance.Error("dialoglblMessage", e.Message)); } _ResponseString = string.Format("{{\"error\":{0}}}", JsonConvert.SerializeObject(errors)); }
/// <summary> /// 推送队列信息 /// </summary> /// <param name="type"></param> /// <param name="entity"></param> private void FileWatch_WatchEvent(int type, WorkTask mtsk) { try { if (mtsk.IsMaster == 1) { return; } #region 给LED的 int count = 0; int wh = mtsk.Warehouse; int hallID = mtsk.DeviceCode; List <WorkTask> mtskLst = new CWTask().FindQueueList(d => d.Warehouse == wh && d.DeviceCode == hallID); count = mtskLst.Count; var data = new { Warehouse = wh, HallID = hallID, Count = count }; string jsonStr = JsonConvert.SerializeObject(data); //推送 Clients.All.QueueStateToLed(jsonStr); #endregion } catch (Exception ex) { log.Error(ex.ToString()); } }
private IList <T> SortData <T>(IEnumerable <T> source, WorkTask workTask = null) where T : IModelWithPersonalId { if (source == null) { return(null); } bool removeTaskAfterCompleted = false; if (workTask == null) { workTask = new("Обработка"); this.workTasksProgressViewModel.WorkTasks.Add(workTask); workTask.StartProcessing(); removeTaskAfterCompleted = true; } workTask.Status = "Сортировка данных"; workTask.IsIndeterminate = true; List <T> result = source.Where(i => i != null).OrderBy(i => i.Лицевой).ToList(); workTask.IsCompleted = true; if (removeTaskAfterCompleted) { this.workTasksProgressViewModel.WorkTasks.Remove(workTask); } return(result); }
public async Task <IActionResult> OnGet() { if (id != null && change != null) { WorkTask = await _context.WorkTask .Include(w => w.bucket).FirstOrDefaultAsync(m => m.TaskID == id); var CurrentBuckets = from Bucket in _context.Bucket.Include(e => e.workGroup) where Bucket.workGroup.Name.Equals(@group) select Bucket; if (change.Equals("left")) { var i = 0; foreach (var bucket in CurrentBuckets.OrderByDescending(e => e.Order)) { var ID = bucket.TypeID; if (i == 1) { WorkTask.BucketID = ID; break; } if (ID == WorkTask.BucketID) { i++; } } } else if (change.Equals("right")) { var i = 0; foreach (var bucket in CurrentBuckets.OrderBy(e => e.Order)) { var ID = bucket.TypeID; if (i == 1) { WorkTask.BucketID = ID; break; } if (ID == WorkTask.BucketID) { i++; } } } } await _context.SaveChangesAsync(); WorkTask = await _context.WorkTask .Include(w => w.bucket).FirstOrDefaultAsync(m => m.TaskID == id); if (WorkTask.bucket.Name.Contains("Complete")) { WorkTask.NeedHelp = false; } await _context.SaveChangesAsync(); return(RedirectToPage("/WorkGroups/Index")); }
public void OnInteraction(GameAgent source) { WorkTask workTask = new WorkTask(); workTask.target = target; source.AddTaskToQueue(workTask); }
public async Task <IActionResult> Create(int JobID, WorkTask workTask) { workTask.Status = Models.TaskStatus.Created; DateTime dateOnly = DateTime.Today; workTask.StartDate = dateOnly.ToString("d"); if (ModelState.IsValid) { _context.Add(workTask); await _context.SaveChangesAsync(); //foreach (string e in workTask.employee) //{ // var todent = new EmployeeWorkTask { employeeId = e.ToString(), TaskId = workTask.TaskID }; // _context.Add(todent); // await _context.SaveChangesAsync(); //} return(RedirectToAction("Details", "Jobs", new { id = JobID })); } ViewBag.Fail = "1"; workTask.getEmployees(_context); return(View(workTask)); }
void DisplayWorkTasks(WorkTask workTask) { WorkTaskLv.Items.Clear(); WorkTaskLv.Groups.Clear(); foreach (var periods in workTask.WorkPeriods.OrderByDescending(x => x.From).GroupBy(x => x.From)) { var Title = TimeSpanToString(TimeSpan.FromMinutes(periods.Sum(x => x.Period.TotalMinutes))) + string.Format(" - ") + periods.FirstOrDefault().From.ToShortDateString(); ListViewGroup DayGroup = new ListViewGroup(Title); DayGroup.HeaderAlignment = HorizontalAlignment.Right; WorkTaskLv.Groups.Add(DayGroup); foreach (var period in periods) { var cols = new List <string>(); cols.Add(period.Id); cols.Add(period.From.ToShortTimeString()); cols.Add(period.To?.ToShortTimeString()); cols.Add(TimeSpanToString(period.Period)); WorkTaskLv.Items.Add(new ListViewItem(cols.ToArray()) { Group = DayGroup }); } } }
public WorkTaskModel(WorkTask workTask) { this.Number = workTask.WorkEffortNumber; this.Date = (workTask.ThroughDate() ?? DateTime.UtcNow).ToString("yyyy-MM-dd"); this.Purpose = string.Join(", ", workTask.WorkEffortPurposes.Select(v => v.Name)); this.Facility = workTask.Facility?.Name; this.ContactName = workTask.ContactPerson?.PartyName; this.ContactTelephone = workTask.ContactPerson?.CellPhoneNumber?.Description ?? workTask.ContactPerson?.GeneralPhoneNumber?.Description; if (workTask.ExistOrderItemFulfillment) { if (workTask.OrderItemFulfillment is SalesOrderItem salesOrderItem) { var salesOrder = salesOrderItem.SalesOrderWhereSalesOrderItem; this.PurchaseOrder = salesOrder?.OrderNumber; if (salesOrderItem.ExistSalesTerms) { this.PaymentTerms = string.Join(", ", salesOrderItem.SalesTerms.Select(v => v.Description)); } else if (salesOrder?.ExistSalesTerms == true) { this.PaymentTerms = string.Join(", ", salesOrder.SalesTerms.Select(v => v.Description)); } else if (workTask.Customer?.PaymentNetDays() != null) { this.PaymentTerms = workTask.Customer.PaymentNetDays().ToString(); } } } }
private void Update() { GameObject target = null; // Set task //_currentTask = _inventory.IsFull ? WorkTask.Unload : _jobTask; switch (_currentTask) { case WorkTask.ChopWood: target = FindResource(); break; case WorkTask.Unload: target = FindStorage(); break; } if (target == null) { if (_inventory.HasItems) _currentTask = WorkTask.Unload; return; } else { _movementController.Target = target; } // If close enough to target if (Vector3.Distance(transform.position, _movementController.Target.collider.ClosestPointOnBounds(transform.position)) < TargetActiveRange) DoWork(); else _workStart = 0; }
private async void BtnOk_OnClicked(object sender, EventArgs e) { ApiServices apiServices = new ApiServices(); var calendarUser = new CalendarUser() { Email = Settings.UserName, Password = Settings.Password }; var workTask = new WorkTask() { TitleWorkTask = "Handla", CalendarUserEmail = "*****@*****.**", }; bool response = await apiServices.RegisterWorkTask(workTask); if (!response) { await DisplayAlert("Alert", "Something wrong...", "Cancel"); } else { await DisplayAlert("Skapat!", "Din aktivitet har skapats", "Ok"); Navigation.InsertPageBefore(new HomePage(), this); await Navigation.PopAsync(); } }
public bool CreateTask(WorkTaskEditVM model) { try { var entity = new WorkTask(); model.ToEntity(entity); entity.CourtId = userContext.CourtId; entity.DateCreated = DateTime.Now; entity.UserCreatedId = userContext.UserId; entity.TaskStateId = WorkTaskConstants.States.New; var taskType = repo.GetById <TaskType>(model.TaskTypeId); if (taskType.SelfTask == true || entity.UserId == userContext.UserId) { entity.UserId = userContext.UserId; entity.DateAccepted = DateTime.Now; entity.TaskStateId = WorkTaskConstants.States.Accepted; } CreateTaskSourceDescription(entity); repo.Add(entity); repo.SaveChanges(); model.Id = entity.Id; return(true); } catch (Exception ex) { logger.LogError(ex.Message); return(false); } }
public async Task <IActionResult> PutWorkTask(int id, WorkTask workTask) { if (id != workTask.Id) { return(BadRequest()); } _context.Entry(workTask).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WorkTaskExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> Edit(int id, [Bind("AssetId,Title,Description,Status,Id")] WorkTask workTask) { if (id != workTask.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(workTask); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WorkTaskExists(workTask.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["AssetId"] = new SelectList(_context.Assets, "Id", "Id", workTask.AssetId); return(View(workTask)); }
public Model(WorkTask workTask) { this.WorkTask = new WorkTaskModel(workTask); this.Customer = new CustomerModel(workTask.Customer); this.TimeEntries = workTask.ServiceEntriesWhereWorkEffort.OfType <TimeEntry>().Select(v => new TimeEntryModel(v)).ToArray(); this.InventoryAssignments = workTask.WorkEffortInventoryAssignmentsWhereAssignment.Select(v => new InventoryAssignmentModel(v)).ToArray(); }
public async Task Post([FromBody] string value) { var worktask = new WorkTask { CreateDate = DateTime.UtcNow, Name = value }; await cosmosRepository.CreateWorkTask(worktask); }
public void CloseTask_TimeCloseIsNow() { WorkTask task = new WorkTask("1000", DummyDescription); task.CloseTask(string.Empty); Assert.True(IsTimesAlmostTheSame(task.TaskStatusHistory.TimeClosed, DateTime.Now)); }
private void BtnSave_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtProfile.Text) && !string.IsNullOrEmpty(txtWorkTask.Text)) { var profile = Profile.Load(txtProfile.Text); if (profile == null) { profile = new Profile(); } profile.Name = txtProfile.Text; var task = new WorkTask() { TaskName = txtWorkTask.Text }; profile.WorkTasks.Add(task); profile.Save(); SelectedWorkTask = task.Id; SelectedProfile = profile.Name; Close(); } else { MessageBox.Show("Please Enter Profile Name And Work Task"); } }
private async void OkButton_OnClicked(object sender, EventArgs e) { var title = EntTitle.Text; /* * var calendarUser = new CalendarUser() * { * Email = Settings.UserName, * Password = Settings.Password * }; */ var workTask = new WorkTask() { TitleWorkTask = title, CalendarUserEmail = Settings.UserName // CalendarUser = calendarUser }; ApiServices apiServices = new ApiServices(); var response = await apiServices.RegisterWorkTask(workTask); if (!response) { await DisplayAlert("Alert", "Aktivitet har inte registrerats", "Cancel"); } else { await DisplayAlert("Hi", "Din aktivitet har registrerats", "Alright"); } }
public object AddWorkTask([FromBody] WorkTask workTask) { return(base.OperationToResult(() => { return _bllWorkTask.AddWorkTask(workTask); })); }
public async Task <ActionResult <WorkTask> > PostWorkTask(WorkTask workTask) { _context.WorkTask.Add(workTask); await _context.SaveChangesAsync(); return(CreatedAtAction("GetWorkTask", new { id = workTask.Id }, workTask)); }
public WorkNotePage(WorkTask w) { WorkNotes = new ObservableCollection <WorkNote>(); _workTask = w; FindWorkNotes(); InitializeComponent(); }
private void DEBUG_NewTimecard(DBClass dellAppDB, Timecard newTimecard) { WorkTask moWorktask = new WorkTask { WorkTaskID = System.Guid.NewGuid().ToString(), IsComplete = false, TimecardID = newTimecard.TimecardID, DayDate = newTimecard.StartDate, WorkDescription = "description what you have done ", Ident_WorkTask = HelperClass.GetIdentForWorktask(newTimecard.StartDate, "") }; WorkTask diWorktask = new WorkTask { WorkTaskID = System.Guid.NewGuid().ToString(), IsComplete = false, TimecardID = newTimecard.TimecardID, DayDate = newTimecard.StartDate.AddDays(1), WorkDescription = "description what you have done ", Ident_WorkTask = HelperClass.GetIdentForWorktask(newTimecard.StartDate.AddDays(1), "") }; WorkTask miWorktask = new WorkTask { WorkTaskID = System.Guid.NewGuid().ToString(), IsComplete = false, TimecardID = newTimecard.TimecardID, DayDate = newTimecard.StartDate.AddDays(2), WorkDescription = "description what you have done ", Ident_WorkTask = HelperClass.GetIdentForWorktask(newTimecard.StartDate.AddDays(2), "") }; WorkTask doWorktask = new WorkTask { WorkTaskID = System.Guid.NewGuid().ToString(), IsComplete = false, TimecardID = newTimecard.TimecardID, DayDate = newTimecard.StartDate.AddDays(3), WorkDescription = "description what you have done ", Ident_WorkTask = HelperClass.GetIdentForWorktask(newTimecard.StartDate.AddDays(3), "") }; WorkTask frWorktask = new WorkTask { WorkTaskID = System.Guid.NewGuid().ToString(), IsComplete = false, TimecardID = newTimecard.TimecardID, DayDate = newTimecard.StartDate.AddDays(4), WorkDescription = "description what you have done ", Ident_WorkTask = HelperClass.GetIdentForWorktask(newTimecard.StartDate.AddDays(4), "") }; dellAppDB.WorkTasks.InsertOnSubmit(moWorktask); dellAppDB.WorkTasks.InsertOnSubmit(diWorktask); dellAppDB.WorkTasks.InsertOnSubmit(miWorktask); dellAppDB.WorkTasks.InsertOnSubmit(doWorktask); dellAppDB.WorkTasks.InsertOnSubmit(frWorktask); dellAppDB.SubmitChanges(); }
private void Start() { _inventory = GetComponent<Inventory>(); _scrollingText = GetComponent<ScrollingText>(); _animator = GetComponent<Animator>(); _movementController = GetComponent<MovementController>(); _compass = transform.Find("Compass"); _characterController = GetComponent<CharacterController>(); switch (Job) { case Job.None: return; // Do nothing case Job.WoodCutter: _jobTask = WorkTask.ChopWood; break; case Job.Miner: _jobTask = WorkTask.Mine; break; } _currentTask = _jobTask; }
public void MultiChainedPropertyUsingFactory() { WorkTask workTask = new WorkTask(); Employee employee1 = new Employee(); employee1.FirstName.Value = "John"; employee1.LastName.Value = "Smith"; Employee employee2 = new Employee(); employee2.FirstName.Value = "Fred"; employee2.LastName.Value = "Davis"; Company company1 = new Company(); company1.Name.Value = "First Company"; Company company2 = new Company(); company2.Name.Value = "Second Company"; Company company3 = new Company(); company3.Name.Value = "Third Company"; Company company4 = new Company(); company4.Name.Value = "Fourth Company"; workTask.Employee.Value = employee1; employee1.Company.Value = company1; employee2.Company.Value = company3; workTask.Employee.BeginChain().Add(e => e.Company).Add(c => c.Name).CompleteWithDefaultIfNotComputable().Subscribe(v => Console.WriteLine("All: " + v)); workTask.Employee.BeginChain().Add(e => e.Company).Add(c => c.Name).CompleteWithDefaultIfNotComputable(true).Subscribe(v => Console.WriteLine("Leaf: " + v)); company1.Name.Value = "First Company Revised"; workTask.Employee.Value = null; workTask.Employee.Value = employee1; employee1.Company.Value = company2; company2.Name.Value = "Second Company Revised"; workTask.Employee.Value = employee2; company3.Name.Value = "Third Company Revised"; company4.Name.Value = "Fourth Company Revised"; employee2.Company.Value = company4; }
public void MultiChainedProperty() { WorkTask workTask = new WorkTask(); Employee employee1 = new Employee(); employee1.FirstName.Value = "John"; employee1.LastName.Value = "Smith"; Employee employee2 = new Employee(); employee2.FirstName.Value = "Fred"; employee2.LastName.Value = "Davis"; Company company1 = new Company(); company1.Name.Value = "First Company"; Company company2 = new Company(); company2.Name.Value = "Second Company"; Company company3 = new Company(); company3.Name.Value = "Third Company"; Company company4 = new Company(); company4.Name.Value = "Fourth Company"; workTask.Employee.Value = employee1; employee1.Company.Value = company1; employee2.Company.Value = company3; workTask.Employee.Select(e => e == null ? ObservableRxMvvm.Always<Company>(null) : e.Company).Switch().Select(c => c == null ? ObservableRxMvvm.Always<string>(null) : c.Name).Switch().DistinctUntilChanged().Subscribe(v => Console.WriteLine("All: " + v)); workTask.Employee.Select(e => e == null ? ObservableRxMvvm.Always<Company>(null) : e.Company).Switch().Select(c => (c == null ? ObservableRxMvvm.Always<string>(null) : c.Name).Skip(1)).Switch().DistinctUntilChanged().Subscribe(v => Console.WriteLine("Leaf: " + v)); company1.Name.Value = "First Company Revised"; workTask.Employee.Value = null; workTask.Employee.Value = employee1; employee1.Company.Value = company2; company2.Name.Value = "Second Company Revised"; workTask.Employee.Value = employee2; company3.Name.Value = "Third Company Revised"; company4.Name.Value = "Fourth Company Revised"; employee2.Company.Value = company4; }
public void ChainedPropertyWithThrottleUsingFactory() { WorkTask workTask = new WorkTask(); Employee employee1 = new Employee(); employee1.FirstName.Value = "John"; employee1.LastName.Value = "Smith"; Thread.Sleep(100); Employee employee2 = new Employee(); employee2.FirstName.Value = "Fred"; employee2.LastName.Value = "Davis"; workTask.Employee.Value = employee1; workTask.Employee.BeginChain().Add(e => e.FullName.OnSuccessfulValueChanged).CompleteWithDefaultIfNotComputable().Throttle(TimeSpan.FromMilliseconds(50)).Subscribe(v => Console.WriteLine("All: " + v)); workTask.Employee.BeginChain().Add(e => e.FullName.OnSuccessfulValueChanged).CompleteWithDefaultIfNotComputable(true).Throttle(TimeSpan.FromMilliseconds(50)).Subscribe(v => Console.WriteLine("Leaf: " + v)); employee1.LastName.Value = "Franklin"; workTask.Employee.Value = null; workTask.Employee.Value = employee1; employee1.FirstName.Value = "Fred"; employee1.LastName.Value = "Davis"; workTask.Employee.Value = employee2; Thread.Sleep(100); employee2.FirstName.Value = "Greg"; Thread.Sleep(100); }
public void ChainedPropertyWithThrottle() { WorkTask workTask = new WorkTask(); Employee employee1 = new Employee(); employee1.FirstName.Value = "John"; employee1.LastName.Value = "Smith"; Thread.Sleep(100); Employee employee2 = new Employee(); employee2.FirstName.Value = "Fred"; employee2.LastName.Value = "Davis"; workTask.Employee.Value = employee1; workTask.Employee.Select(e => e == null ? ObservableRxMvvm.Always<string>(null) : e.FullName.OnSuccessfulValueChanged).Switch().DistinctUntilChanged().Throttle(TimeSpan.FromMilliseconds(50)).Subscribe(v => Console.WriteLine("All: " + v)); workTask.Employee.Select(e => (e == null ? ObservableRxMvvm.Always<string>(null) : e.FullName.OnSuccessfulValueChanged).Skip(1)).Switch().DistinctUntilChanged().Throttle(TimeSpan.FromMilliseconds(50)).Subscribe(v => Console.WriteLine("Leaf: " + v)); employee1.LastName.Value = "Franklin"; workTask.Employee.Value = null; workTask.Employee.Value = employee1; employee1.FirstName.Value = "Fred"; employee1.LastName.Value = "Davis"; workTask.Employee.Value = employee2; Thread.Sleep(100); employee2.FirstName.Value = "Greg"; Thread.Sleep(100); }
private void Unload() { _workStart += Time.deltaTime; // Get the inventory var targetInventory = _movementController.Target.GetComponent<Inventory>(); // Drop off any items while (_inventory.HasItems) { ItemType itemType; var amount = _inventory.TakeAll(out itemType); targetInventory.Give(itemType, amount); } Destroy(this.HeldItem); if (_inventory.IsEmpty) { _currentTask = _jobTask; _animator.SetBool(Animator.StringToHash("IsCarrying"), false); } }
private void Gather() { // Get the inventory var targetInventory = _movementController.Target.GetComponent<Inventory>(); if (targetInventory.TotalItems == 0) { _animator.SetBool(Animator.StringToHash("IsGathering"), false); return; } _animator.SetBool(Animator.StringToHash("IsGathering"), true); _workStart += Time.deltaTime; while (_workStart > WorkTime) { var item = ItemType.Nothing; switch (Job) { case Job.WoodCutter: item = ItemType.Wood; break; case Job.Miner: item = ItemType.Iron; break; } var amount = targetInventory.Take(ItemTransferAmount, item); _inventory.Give(item, amount); var pos = new Vector3(0.1f, 0.75f, 0); _workStart -= WorkTime; } if (_inventory.IsFull) { _animator.SetBool(Animator.StringToHash("IsGathering"), false); _animator.SetBool(Animator.StringToHash("IsCarrying"), true); _currentTask = WorkTask.Unload; } }