public async Task <VMTaskIndex> IndexAsync(string userId, string taskGroupId = null) { var data = new VMTaskIndex(); var tasks = VMTask.Fetch(DBContext.TaskItems); if (taskGroupId != null) { tasks = tasks.Where(m => m.Group.Id == taskGroupId); var group = await DBContext.TaskGroups.FindAsync(taskGroupId); data.GroupId = group.Id; data.GroupTitle = group.Title; } else { data.GroupTitle = "All"; } tasks = tasks .Where(t => t.AssignedUserId == null || t.AssignedUserId == userId) .Where(t => t.CompletionDate == null); tasks = tasks.OrderByDescending(t => t.Priority); data.Tasks = tasks.Select(VMTask.Read(DBContext)).ToList(); return(data); }
// GET api/<controller>/5 public IHttpActionResult Get(string id) { try { Guid g = new Guid(id); //UserId = "2303eff9-b95e-4d3c-8397-bf4eaae25c4f"; using (UnitOfWork m = new UnitOfWork(new MMAContext(), new Guid(UserId), UserEmail)) { VMTask vm = VMTask.GetVmTask(m.Tasks.Get(g)); if (vm == null) { return(NotFound()); } else { return(Ok(vm)); } } } catch (Exception ex) { //todo Log Exception return(BadRequest(ex.GetAllMessages())); } }
public IHttpActionResult GetByEmployer([FromUri] string strEmployerId, [FromUri] string strStartDate, [FromUri] string strEndDate) { try { Guid employerId = new Guid(strEmployerId); DateTime startD = CommonUtils.DateTimeStringToDatetime(strStartDate); DateTime endD = CommonUtils.DateTimeStringToDatetime(strEndDate); using (ApplicationDbContext db = new ApplicationDbContext()) { using (UnitOfWork m = new UnitOfWork(new MMAContext(), new Guid(UserId), UserEmail)) { var l = m.Tasks.GetByEmployer(employerId, startD, endD); List <VMTask> al = new List <VMTask>(l.Count()); foreach (var r in l) { al.Add(VMTask.GetVmTask(r)); } return(Ok(al)); } } } catch (Exception e) { //ToDo Log exception return(BadRequest(e.GetAllMessages())); } }
public IActionResult Create(string taskGroupId) { var data = new VMTask { TaskGroupId = taskGroupId }; return(View(data)); }
public async Task <VMTask> ReadAsync(string taskId) { var entity = await VMTask.Fetch(DBContext.TaskItems) .SingleAsync(m => m.Id == taskId); return(VMTask.Read(DBContext).Compile().Invoke(entity)); }
public async Task <VMTask> UpdateAsync(VMTask data) { var entity = await VMTask.Fetch(DBContext.TaskItems) .SingleAsync(m => m.Id == data.Id); await data.WriteAsync(DBContext, entity); DBContext.Update(entity); await DBContext.SaveChangesAsync(); return(await ReadAsync(entity.Id)); }
public async Task <IActionResult> Update(VMTask writeData) { if (ModelState.IsValid) { var readData = await TaskManager.UpdateAsync(writeData); await TaskHubContext.Clients.All.SendAsync(TaskHub.Updated, readData.Id); return(RedirectToAction("Index", new { GroupId = writeData.TaskGroupId })); } else { return(View(writeData)); } }
public async Task <IActionResult> Create(VMTask writeData) { if (ModelState.IsValid) { var readData = await TaskManager.CreateAsync(writeData, User.GetLoggedInUserId <string>()); await TaskHubContext.Clients.All.SendAsync(TaskHub.Created, readData.Id); return(RedirectToAction("Index", new { writeData.TaskGroupId })); } else { return(View(writeData)); } }
public async Task <VMTask> CreateAsync(VMTask data, string activeUserId) { var userTask = UserManager.FindByIdAsync(activeUserId); var entity = new TaskItem(); await data.WriteAsync(DBContext, entity); entity.Creator = await userTask; entity.CreationDate = DateTimeOffset.Now; await DBContext.TaskItems.AddAsync(entity); await DBContext.SaveChangesAsync(); return(await ReadAsync(entity.Id)); }
// POST api/<controller> public IHttpActionResult Post([FromBody] VMTask value) { //UserId = "2303eff9-b95e-4d3c-8397-bf4eaae25c4f"; try { Task t = VMTask.GetTask(value, UserId); using (UnitOfWork m = new UnitOfWork(new MMAContext(), new Guid(UserId), UserEmail)) { t.UpdatedBy = new Guid(UserId); m.Tasks.Add(t); m.Complete(); } return(Created($"/api/Task/{t.Id}", t)); } catch (Exception e) { return(BadRequest(e.GetAllMessages())); //throw; } }
// PUT api/<controller>/5 public IHttpActionResult Put(string id, [FromBody] VMTask value) { var g = new Guid(id); try { using (UnitOfWork m = new UnitOfWork(new MMAContext(), new Guid(UserId), UserEmail)) { Task t = m.Tasks.Get(g); VMTask.UpdateTask(value, t); t.UpdatedBy = new Guid(UserId); m.Complete(); VMTask v = VMTask.GetVmTask(t); return(Ok(v)); } } catch (Exception e) { return(BadRequest(e.GetAllMessages())); } }
private void btnDupVM_Click(object sender, System.EventArgs e) { // Create new VM folder lblProgress.Text = "Creating VM folder"; lblProgress.Update(); if (Directory.Exists(txtNewVMPath.Text)) { DialogResult result; result = MessageBox.Show("Destination VM Folder exists, Overwrite?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation); if (result == DialogResult.No) { return; } } try { Directory.CreateDirectory(txtNewVMPath.Text); } catch (Exception err) { MessageBox.Show(err.Message); lblProgress.Text = "Duplication failed: Unable to create VM folder."; return; } pbarMain.Value = 10; // Copy VM files lblProgress.Text = "Copying VM files"; lblProgress.Update(); try { for (int i = 1; i <= vm.HardDiskConnections.Count; i++) { FileInfo vhdfi = new FileInfo(vm.HardDiskConnections[i].HardDisk.File); File.Copy(vm.HardDiskConnections[i].HardDisk.File, txtNewVMPath.Text + @"\" + vhdfi.Name, true); FileInfo undofi = new FileInfo(vm.HardDiskConnections[i].UndoHardDisk.File); File.Copy(vm.HardDiskConnections[i].UndoHardDisk.File, txtNewVMPath.Text + @"\" + undofi.Name, true); } FileInfo vmfi = new FileInfo(vm.File); File.Copy(vm.File, txtNewVMPath.Text + @"\" + txtNewVMName.Text + ".vmc", true); } catch (Exception err) { MessageBox.Show(err.Message); lblProgress.Text = "Duplication failed: Unable to copy VM files."; return; } pbarMain.Value = 40; // Adjust new VM settings lblProgress.Text = "Adjust new VM settings"; pbarMain.Value = 60; // Register new VM if (ckbRegisterVM.Checked) { lblProgress.Text = "Register VM..."; lblProgress.Update(); Console.WriteLine(txtNewVMPath.Text + @"\" + txtNewVMName.Text + ".vmc"); try { newvm = vs.RegisterVirtualMachine(txtNewVMName.Text, txtNewVMPath.Text); } catch (Exception err) { MessageBox.Show(err.Message); lblProgress.Text = "Duplication failed: Unable to register VM."; return; } } pbarMain.Value = 80; // Turn On VM if (ckbTurnOnVM.Checked) { lblProgress.Text = "Turning on VM..."; lblProgress.Update(); try { VMTask task = newvm.Startup(); while (!task.IsComplete) { Thread.Sleep(200); } } catch (Exception err) { MessageBox.Show(err.Message); lblProgress.Text = "Duplication failed: Unable to turn on VM."; return; } } pbarMain.Value = 100; lblProgress.Text = "Duplication Finished Successfully."; }