public ActionResult <Task> Create([FromForm] TaskFile file) { string url = ""; try { url = UploadFile.Upload(file.File); Task task = new Task { Description = file.Description, ImageUrl = url }; task.Id = _tasksInMemoryStore.Any() ? _tasksInMemoryStore.Max(t => t.Id) + 1 : 1; _tasksInMemoryStore.Add(task); return(CreatedAtAction(nameof(GetById), new { id = task.Id }, task)); } catch (Exception ex) { { _logger.LogError($"Something went wrong inside Create action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } } }
public TaskLoader(string filepath) { StreamReader reader = new StreamReader(filepath); jsonFile = reader.ReadToEnd(); TaskFile tasks = JsonUtility.FromJson <TaskFile>(jsonFile); }
public async Task <ActionResult> Card(int?id) { if (!id.HasValue) { return(HttpNotFound()); } var task = await TaskClaim.Get(id.Value); ViewBag.StateHistory = await task.GetStateHistoryAsync(); if (CurUser.Is(AdGroup.TaskTrackerManager, AdGroup.TaskTrackerProg)) { ViewBag.Checkpoints = await TaskCheckpoint.GetListAsync(id.Value); ViewBag.TaskFiles = await TaskFile.GetListAsync(id.Value); ViewBag.TaskComments = await TaskComment.GetListAsync(id.Value); return(View("CardPerf", task)); } else { return(View("CardUser", task)); } }
public async Task SaveFile2Task(int taskId) { if (Request.Files.Count > 0) { for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file != null && file.ContentLength > 0) { //string ext = Path.GetExtension(file.FileName).ToLower(); //if (ext != ".png" && ext != ".jpeg" && ext != ".jpg" && ext != ".gif") throw new Exception("Формат фотографии должен быть .png .jpeg .gif"); byte[] data = null; using (var br = new BinaryReader(file.InputStream)) { data = br.ReadBytes(file.ContentLength); } var taskFile = new TaskFile() { TaskClaimId = taskId, Data = data, Name = file.FileName }; await taskFile.Add(CurUser.Sid); } } } }
public JsonResult addFileToTask([FromBody] TaskFileViewModel taskFile) { Dictionary <string, object> result = new Dictionary <string, object>(); var taskFilesList = repository.TaskFiles; Console.WriteLine("DOBILI SMO"); Console.WriteLine(taskFile.Files); Console.WriteLine(taskFile.Tasks); foreach (var task in taskFile.Tasks) { foreach (var file in taskFile.Files) { if (taskFilesList.Where(t => t.Task.TaskID == task.TaskID && t.FilePath == file).Count() == 0) { TaskFile tf = new TaskFile { Task = task, FilePath = file }; repository.Save(tf); } } } result.Add("result", true); return(Json(result)); }
public void Spec04() { var actual = new TaskFile(@"D:\solution\source\project", @"D:\solution\source\project\deep\path\file.js"); I.Expect(actual.Absolute).ToBe(@"D:\solution\source\project\deep\path\file.js"); I.Expect(actual.Virtual).ToBe(@"\deep\path\file.js"); }
public void Spec02() { var taskItem = ConstructorHelper.CreateTaskItem(@"..\..\packages\library\file.js", @"path\file.js"); var actual = new TaskFile(@"D:\solution\source\project", taskItem); I.Expect(actual.Absolute).ToBe(@"D:\solution\source\project\..\..\packages\library\file.js"); I.Expect(actual.Virtual).ToBe(@"\path\file.js"); }
void AddQueueFile(TaskFile tf) { queueFiles.Enqueue(tf); if (threadTaskFiles == null) { threadTaskFiles = new Thread(ThreadTaskFiles); threadTaskFiles.Start(); } }
public void UploadFileToProperLocationAndName() { //Given //create repo and populate it User user = new User { UserID = 1, RootFolderLocation = "./FileUploadTestFolder/user1/" }; var userRepo = new Mock <IUserRepository>(); List <User> users = new List <User>(); users.Add(user); userRepo.Setup(f => f.Users).Returns(users.AsQueryable()); Task task = new Task { TaskID = 1, User = user, Date = "2019-07-03", Time = "12:00" }; var taskRepo = new Mock <ITaskRepository>(); List <Task> tasks = new List <Task>(); tasks.Add(task); taskRepo.Setup(f => f.Tasks).Returns(tasks.AsQueryable()); TaskFile taskFile = new TaskFile { TaskFileID = 1, Task = task, FilePath = "./FileUploadTestFolder/user1/" }; var taskFileRepo = new Mock <ITaskFileRepository>(); List <TaskFile> taskFiles = new List <TaskFile>(); taskFiles.Add(taskFile); taskFileRepo.Setup(f => f.TaskFiles).Returns(taskFiles.AsQueryable()); //create file var file = new Mock <IFormFile>(); file.Setup(f => f.FileName).Returns("test.txt"); FileUpload fileUpload = new FileUpload { UserID = 1, FileName = "test", File = file.Object, isUserInputName = true }; //create controller FileUploadController controller = new FileUploadController(userRepo.Object, taskRepo.Object, taskFileRepo.Object); //When controller.UploadFileForm(fileUpload); //Then Assert.True(Directory.Exists(user.RootFolderLocation)); if (fileUpload.isUserInputName) { Assert.True(File.Exists(user.RootFolderLocation + fileUpload.FileName + ".txt")); } else { Assert.True(File.Exists(user.RootFolderLocation + "test.txt")); } }
public bool GetIDBuffer(IntPtr handle, ref byte[] buffer) { TaskFile currentTaskFile = new TaskFile(); TaskFile preTaskFile = new TaskFile(); currentTaskFile.Command = 0xEC; currentTaskFile.Devic_Register = 0xA0; return(ATACommand(handle, ref currentTaskFile, ref preTaskFile, 512, ref buffer, true, false, false, false)); }
public MainViewModel() { File = new TaskFile(); Filepath = null; TaskVM = new TaskViewModel(this); CategoryVM = new CategoryViewModel(this); AnyChangeHappened = false; }
internal static void AssertFileEqual(TaskFile expected, TaskFile actual) { Assert.AreEqual(expected.Path, actual.Path); Assert.AreEqual(expected.ParentPath, actual.ParentPath); Assert.AreEqual(expected.Name, actual.Name); Assert.AreEqual(expected.EntryId, actual.EntryId); Assert.AreEqual(expected.GroupId, actual.GroupId); Assert.AreEqual(expected.FolderId, actual.FolderId); Assert.AreEqual(expected.Size, actual.Size); }
private void btCreateBotFolder_Click(object sender, EventArgs e) { FormEnterText form = new FormEnterText("Введите имя папки"); if (form.ShowDialog() == DialogResult.OK) { TaskFile tf = new TaskFile(); tf.from = null; tf.to = System.IO.Path.Combine(tbBotFolder.Text, form.Content); tf.direction = 4; AddQueueFile(tf); } }
public async Task <IActionResult> AddTaskFile(AddTaskFileViewModel model) { if (ModelState.IsValid) { var teacherID = Context.Users.FirstOrDefault(x => x.UserName == this.User.Identity.Name).Id; var task = Documentation.Tasks.FirstOrDefault(x => x.StTaskID == model.TaskID); if (task == null) { return(LocalRedirect(model.ReturnUrl)); } if (Files.StudentTaskFiles.Any(x => x.FileName == model.File.FileName && x.StTaskId == model.TaskID)) { ModelState.AddModelError("", "File with name " + model.File.FileName + " is alredy exist."); return(View(model)); } var directory = Directory.GetFiles(environment.ContentRootPath + @"/wwwroot/FileExtansions"); var ext = new String(model.File.FileName.TakeLast(model.File.FileName.Length - (model.File.FileName.LastIndexOf('.') == -1 ? model.File.FileName.Length : model.File.FileName.LastIndexOf('.')) - 1).ToArray()); if (!directory.Any(x => x == ("File" + ext + ".png"))) { ext = ""; } var File = new TaskFile() { FileName = model.File.FileName, FileExtansion = ext, StTaskId = model.TaskID, Description = model.Desription }; using (var reader = new BinaryReader(model.File.OpenReadStream())) { byte[] data = reader.ReadBytes((int)model.File.Length); File.FileSize = String.Format(new FileSizeFormatProvider(), "{0:fs}", data.LongLength); File.Value = data; } Files.AddFile(File); task.IsChecked = true; Documentation.AddAnswer( new Answer { AnswerDate = DateTime.Now, StTaskID = model.TaskID, UserID = teacherID, TextData = $"Adding file {File.FileName} to task." }); return(LocalRedirect(model.ReturnUrl)); } return(View(model)); }
// добавить файл к задаче public async Task <OperationDetailDTO> AddFileToTaskAsync(int taskID, string userFileName, string uniquefileName = null) { var detail = new OperationDetailDTO(); try { var task = await _context.TaskModels.FindAsync(taskID); if (task != null) { TaskFile newFile; if (uniquefileName != null) { newFile = new TaskFile { TaskModel = task, FileName = userFileName, Path = TaskFilePath + uniquefileName, FileURI = TaskFileURI + uniquefileName, }; } else { newFile = new TaskFile { TaskModel = task, FileName = userFileName, Path = TaskFilePath + userFileName, FileURI = TaskFileURI + userFileName, }; } await _context.TaskFiles.AddAsync(newFile); await _context.SaveChangesAsync(); detail.Succeeded = true; } else { detail.ErrorMessages.Add("Ошибка при добавлении файла: задание не найдено."); } return(detail); } catch (Exception e) { detail.ErrorMessages.Add("Ошибка при добавлении файла к заданию. " + e.Message); return(detail); } }
private void btCopyMyBot_Click(object sender, EventArgs e) { if (lvFilesMy.SelectedItems.Count > 0) { for (int i = 0; i < lvFilesMy.SelectedItems.Count; i++) { FileInfo fi = (FileInfo)lvFilesMy.SelectedItems[i].Tag; TaskFile tf = new TaskFile(); tf.from = fi; tf.to = System.IO.Path.Combine(tbBotFolder.Text, System.IO.Path.GetFileName(fi.fileName)); tf.direction = 2; AddQueueFile(tf); } } }
public ActionResult CreateFiles([Bind(Include = "TaskId,PostedFiles")] TaskFile file) { if (ModelState.IsValid) { try { foreach (var f in file.PostedFiles) { //Save files string DirPath = Server.MapPath("~/DbContents/Tasks/Files/"); if (!Directory.Exists(DirPath)) { Directory.CreateDirectory(DirPath); } string FileExtension = Path.GetExtension(f.FileName); string NewFileName = string.Format("{0}{1}", App.GetShortFileName("FILE"), FileExtension); string NewFullFileName = DirPath + NewFileName; file.FileName = NewFileName; db.TaskFiles.Add(file); db.SaveChanges(); f.SaveAs(NewFullFileName); } var files = db.TaskFiles.Where(f => f.TaskId == file.TaskId).Select(f => new { f.TaskFileId, f.TaskId, f.FileName }); return(Json(new { status = "ok", message = string.Format("{0} files have been uploaded of {1}", file.PostedFiles.Count, file.PostedFiles.Count), data = files }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { status = "error", message = "Internal server error." + ex.Message }, JsonRequestBehavior.AllowGet)); } } return(Json(new { status = "error", message = "Data validation failed. (Insure you have uploaded files having valid sizes.)" }, JsonRequestBehavior.AllowGet)); }
public async Task DownloadingAHugeTaskFileDoesNotThrowOutOfMemoryException() { const string jobId = "Foo"; const string taskId = "Bar"; long bytesWritten = await InvokeActionWithDummyStreamBatchClientAsync(async (batchCli, dummyStream) => { Protocol.Models.NodeFile protoFile = new Protocol.Models.NodeFile("Test"); NodeFile file = new TaskFile(batchCli.JobOperations, jobId, taskId, protoFile, new List <BatchClientBehavior>()); await file.CopyToStreamAsync(dummyStream); }, StreamLengthInBytes); Assert.Equal(StreamLengthInBytes, bytesWritten); }
private void btDelBotFile_Click(object sender, EventArgs e) { if (lvFilesBot.SelectedItems.Count > 0) { if (Output.MsgQue("Вы уверены что этот файл (файлы) нужно удалить?") == DialogResult.Yes) { for (int i = 0; i < lvFilesBot.SelectedItems.Count; i++) { FileInfo fi = (FileInfo)lvFilesBot.SelectedItems[i].Tag; TaskFile tf = new TaskFile(); tf.from = fi; tf.to = string.Empty; tf.direction = 3; AddQueueFile(tf); } } } }
public async Task UpdateTaskFiles(List <IFormFile> filesContent, string taskFilesJson, int projectID, int taskID) { using (_context) { List <TaskFileSend> taskFiles = JsonConvert.DeserializeObject <TaskFilesList>(taskFilesJson).taskFiles; Project project = await _context.Projects.Where(p => p.ProjectID == projectID) .Include(p => p.Tasks).ThenInclude(t => t.TaskFiles) .FirstOrDefaultAsync(); if (project != null) { ProjectTask task = project.Tasks.Where(t => t.TaskID == taskID).FirstOrDefault(); if (task != null) { for (int i = 0; i < taskFiles.Count(); i++) { if (taskFiles[i].IsDeleted) { task.TaskFiles.Remove(task.TaskFiles.Where(tf => tf.TaskFileID == taskFiles[i].TaskFileID).FirstOrDefault()); _context.Projects.Update(project); await _context.SaveChangesAsync(); DeleteTaskFile(taskFiles[i].TaskFileID); } else if (taskFiles[i].IsAdded) { TaskFile tf = new TaskFile(); tf.TaskID = taskID; tf.FileName = taskFiles[i].FileName; task.TaskFiles.Add(tf); _context.Projects.Update(project); await _context.SaveChangesAsync(); Stream fileStream = filesContent[i].OpenReadStream(); SaveTaskFile(tf.TaskFileID, fileStream); } } } } } }
/// <summary> /// /// </summary> /// <returns></returns> private IList <TaskFile> GenTaskFiles() { //TODO:文件名称 IList <TaskFile> files = new List <TaskFile>(); if (cbx_DesignDoc.Checked) { TaskFile file = new TaskFile(); file.Type = TaskFileEnum.Design; files.Add(file); } if (cbx_TestDoc.Checked) { TaskFile file = new TaskFile(); file.Type = TaskFileEnum.Test; files.Add(file); } if (cbx_RecordXls.Checked) { TaskFile file = new TaskFile(); file.Type = TaskFileEnum.Xls; files.Add(file); } if (cbx_DevSql.Checked) { TaskFile file = new TaskFile(); file.Type = TaskFileEnum.DevSql; files.Add(file); } if (cbx_DmlSql.Checked) { TaskFile file = new TaskFile(); file.Type = TaskFileEnum.DML; files.Add(file); } if (cbx_Readme.Checked) { TaskFile file = new TaskFile(); file.Type = TaskFileEnum.README; files.Add(file); } return(files); }
public bool GetSMARTBuffer(IntPtr handle, ref byte[] buffer) { IntPtr result = IntPtr.Zero; IntPtr buff1 = IntPtr.Zero; ATA_PASS_THROUGH_DIRECT input = new ATA_PASS_THROUGH_DIRECT(); input.Length = (UInt16)Marshal.SizeOf(input); input.AtaFlags = ATA_FLAGS_DATA_IN; input.TimeOutValue = 2; TaskFile currentTaskFile = new TaskFile(); TaskFile preTaskFile = new TaskFile(); currentTaskFile.Devic_Register = 0xA0; currentTaskFile.Feature = 0xD0; currentTaskFile.Command = 0xB0; currentTaskFile.Cylinder_Low_Register = 0x4F; currentTaskFile.Cylinder_High_Register = 0xC2; return(ATACommand(handle, ref currentTaskFile, ref preTaskFile, 512, ref buffer, true, false, false, false)); }
public async Task <IActionResult> DownloadTaskFile(int projectID, int taskID, int taskFileID) { string path = $"./StoredData/{TaskFileIDToName(taskFileID)}.dat"; if (System.IO.File.Exists(path)) { TaskFile taskFile = await _taskService.GetTaskFile(projectID, taskID, taskFileID); if (taskFile != null) { var memory = new MemoryStream(); using (var stream = new FileStream(path, FileMode.Open)) { byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, (int)stream.Length); memory.Write(bytes, 0, (int)stream.Length); var response = File(bytes, "application/octet-stream", taskFile.FileName); // FileStreamResult return(response); } } } return(NotFound()); }
private IList<TaskFile> GetSourceFiles(JSLintNetSettings settings) { var ignored = settings.NormalizeIgnore(); var taskFiles = new List<TaskFile>(); if (this.sourceFilesSet) { foreach (var item in this.SourceFiles) { if (JSLint.CanLint(item.ItemSpec)) { var taskFile = new TaskFile(this.SourceDirectory, item); if (!taskFile.IsIgnored(ignored)) { taskFiles.Add(taskFile); } } } return taskFiles; } var files = this.fileSystemWrapper.GetFiles(this.SourceDirectory, "*", SearchOption.AllDirectories); foreach (var file in files) { if (JSLint.CanLint(file)) { var taskFile = new TaskFile(this.SourceDirectory, file); if (!taskFile.IsIgnored(ignored)) { taskFiles.Add(taskFile); } } } return taskFiles; }
public async Task <ActionResult> GetTaskFileData(string guid) { var file = await TaskFile.GetAsync(guid); return(File(file.Data, System.Net.Mime.MediaTypeNames.Application.Octet, file.Name)); }
public AtaPassThroughEx32WithIdentifyDevice(AtaFlags AtaFlags = default, byte PathId = default, byte TargetId = default, byte Lun = default, byte ReservedAsUchar = default, uint TimeOutValue = default, uint ReservedAsUlong = default, TaskFile TaskFile = default, IdentifyDevice IdentifyDevice = default) => (Length, this.AtaFlags, this.PathId, this.TargetId, this.Lun, this.ReservedAsUchar, this.TimeOutValue, this.ReservedAsUlong, this.DataTransferLength, this.DataBufferOffset, this.TaskFile, this.IdentifyDevice)
public static void Main(string[] args) { string file = "tickets.csv"; string enhancefile = "nhancement.csv"; string taskfile = "task.csv"; logger.Info("Prgram Started"); ticketFile ticketfile = new ticketFile(file); EnhancementFile enhancement = new EnhancementFile(enhancefile); TaskFile task = new TaskFile(taskfile); string choice; do { //ask question Console.WriteLine("1) Make a Bug Ticket file."); Console.WriteLine("2) Read Bug Ticket data."); Console.WriteLine("3) Make an Enhanced Ticket File."); Console.WriteLine("4) Read Enhanced Ticket data."); Console.WriteLine("5) Make a Task Ticket file."); Console.WriteLine("6) Read Task Ticket Data."); Console.WriteLine("Press the any key to exit"); choice = Console.ReadLine(); logger.Info("User choice: ", choice); if (choice == "1") { Ticket ticket = new Ticket(); for (int i = 0; i < 10; i++) { Console.WriteLine("Wanna enter a ticket (Y/N)?"); string reply = Console.ReadLine(); logger.Info("User Reply: ", reply); if (reply != "Y") { break; } Console.WriteLine("Please enter the TicketID: "); ticket.ticketID = Console.ReadLine(); Console.WriteLine("Please enter the Ticket Summary: "); ticket.summary = Console.ReadLine(); Console.WriteLine("Please enter the Ticket Status"); ticket.status = Console.ReadLine(); Console.WriteLine("What is the Level of Priority?"); ticket.priorityLevel = Console.ReadLine(); Console.WriteLine("Who was assigned to this ticket?"); ticket.assignee = Console.ReadLine(); Console.WriteLine("Who submitted the ticket?"); ticket.submitter = Console.ReadLine(); string input; do { Console.WriteLine("Whos is watching? (Enter 'exit' to quit program): "); input = Console.ReadLine(); if (input != "exit" && input.Length > 0) { ticket.watching.Add(input); } } while (input != "exit"); if (ticket.watching.Count == 0) { ticket.watching.Add("(Nobody's watching the ticket!)"); } ticketfile.AddTicket(ticket); } } else if (choice == "2") { foreach (Ticket ti in ticketfile.Ticket) { Console.WriteLine(ti.Display()); } } else if (choice == "3") { EnhancementTicket enhancementTicket = new EnhancementTicket(); for (int i = 0; i < 10; i++) { Console.WriteLine("Wanna enter a ticket (Y/N)?"); string reply = Console.ReadLine().ToUpper(); logger.Info("User Reply: ", reply); if (reply != "Y") { break; } Console.WriteLine("Please enter the TicketID"); enhancementTicket.ticketID = Console.ReadLine(); Console.WriteLine("Please enter the Ticket Summary: "); enhancementTicket.summary = Console.ReadLine(); Console.WriteLine("Please enter the Ticket Status"); enhancementTicket.status = Console.ReadLine(); Console.WriteLine("What is the Level of Priority?"); enhancementTicket.priorityLevel = Console.ReadLine(); Console.WriteLine("Who was assigned to this ticket?"); enhancementTicket.assignee = Console.ReadLine(); Console.WriteLine("Who submitted the ticket?"); enhancementTicket.submitter = Console.ReadLine(); Console.WriteLine("What's the reason for the ticket?"); enhancementTicket.reason = Console.ReadLine(); Console.WriteLine("What kind of software for the ticket?"); enhancementTicket.software = Console.ReadLine(); Console.WriteLine("How much does the ticket cost?"); enhancementTicket.ticketCost = double.Parse(Console.ReadLine()); Console.WriteLine("What the ticket estimate?"); enhancementTicket.ticketEstimate = Console.ReadLine(); string input; do { Console.WriteLine("Who's watching? (Enter 'exit' to quit the program): "); input = Console.ReadLine(); if (input != "exit" && input.Length > 0) { enhancementTicket.watching.Add(input); } } while (input != "done"); if (enhancementTicket.watching.Count == 0) { enhancementTicket.watching.Add("Nobody's watchin the ticket!"); } enhancement.AddTicket(enhancementTicket); } } else if (choice == "4") { foreach (EnhancementTicket et in enhancement.EnhancedTicket) { Console.WriteLine(et.Display()); } } else if (choice == "5") { TaskTicketing taskTickets = new TaskTicketing(); for (int i = 0; i < 10; i++) { Console.WriteLine("Wanna enter a ticket (Y/N)?: "); string reply = Console.ReadLine().ToUpper(); logger.Info("User reply: ", reply); if (reply != "Y") { break; } Console.WriteLine("Please enter the TicketID: "); taskTickets.ticketID = Console.ReadLine(); Console.WriteLine("Please enter the Ticket Summary"); taskTickets.summary = Console.ReadLine(); Console.WriteLine("What's the Ticket Status?"); taskTickets.status = Console.ReadLine(); Console.WriteLine("What's the Level of Priority?: "); taskTickets.priorityLevel = Console.ReadLine(); Console.WriteLine("Who's assigned to this ticket?: "); taskTickets.assignee = Console.ReadLine(); Console.WriteLine("Who submitted the ticket?: "); taskTickets.submitter = Console.ReadLine(); Console.WriteLine("What's the due date for this task?"); taskTickets.dateDue = Console.ReadLine(); Console.WriteLine("What is the name of the project?"); taskTickets.projectName = Console.ReadLine(); string input; do { Console.WriteLine("Who's watching? ( Enter 'exit' to quit the program): "); input = Console.ReadLine(); if (input != "exit" && input.Length > 0) { taskTickets.watching.Add(input); } } while (input != "exit"); if (taskTickets.watching.Count == 0) { taskTickets.watching.Add("Nobody's watching the ticket!"); } task.AddTicket(taskTickets); } } else if (choice == "6") { foreach (TaskTicketing tt in task.TaskTicketing) { Console.WriteLine(tt.Display()); } } } while (choice == "1" || choice == "2" || choice == "3" || choice == "4" || choice == "5" || choice == "6"); logger.Info("End of Program"); }
public ActionResult ImportTask(HttpPostedFileBase file) { try { var tasks = new TaskFile(file.InputStream).ToTask(); var db = new Context(); List <string> existTasks = new List <string>(); //IsDeviceNet为true设备网 if (GlobalData.IsDeviceNet) { foreach (var task in tasks) { var taskdb = db.DispatchMessages.SingleOrDefault(x => x.TaskNo == task.TaskNo); if (taskdb != null) { //相同编号任务编号的同一版本不能重复导入 existTasks.Add($"{taskdb.TaskNo}({taskdb.PartNo})"); continue; } taskdb = new DispatchMessage { TaskNo = task.TaskNo, PartNo = task.PartNo, BatchNo = task.BatchNo, SeqNo = task.SeqNo, Count = task.Count, FacCode = task.FacCode, WeldNo = task.WeldNo, WelderNo = task.WelderNo, StartTime = task.StartTime, EndTime = task.EndTime, exportTime = task.exportTime, importTime = task.importTime, State = false, showState = task.showState }; db.DispatchMessages.Add(taskdb); db.SaveChanges(); } } if (existTasks.Any()) { return(Json(new { succeed = true, existTasks }, "text/html")); } else { return(Json(new { succeed = true }, "text/html")); } } catch (Exception e) { Log.Error(e.StackTrace); return(Json(new { succeed = false, error = e.Message }, "text/html")); } }
internal static TaskDetails GetCreatedTask(TaskUser assignor, TaskUser assignee, TaskFile file) { return(new TaskDetails( "e53ea032-f859-4e4b-94e2-43131fcf7243", "Check if we need to update the website", new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddMilliseconds(1534460249892), null, new DateTime(2018, 8, 29, 0, 0, 0, DateTimeKind.Utc), 1535612399999, assignor, new[] { assignee }.ToList(), Api.Tasks.TaskStatus.Open, file)); }
private bool ATACommand(IntPtr handle, ref TaskFile currentTaskFile, ref TaskFile preTaskFile, int dataTransferSzie, ref byte[] buffer, bool isRead, bool isDMA, bool isExCmd, bool isnodata) { //If parameter isRead is true, the command is a read command. //Otherwise it's a write command. ATA_PASS_THROUGH_DIRECT input; bool status; Int32 nBytesReturned; IntPtr result = IntPtr.Zero; IntPtr buff1 = IntPtr.Zero; int errorMessage; input = new ATA_PASS_THROUGH_DIRECT(); input.Length = (UInt16)Marshal.SizeOf(input); if (!isRead) { input.AtaFlags = ATA_FLAGS_DATA_OUT; //For write command } else { input.AtaFlags = ATA_FLAGS_DATA_IN; //For read command } if (isnodata) { input.AtaFlags = ATA_FLAGS_DRDY_REQUIRED; //For no data } if (isDMA) { input.AtaFlags |= ATA_FLAGS_USE_DMA; //For direct memory access } if (isExCmd) { input.AtaFlags |= ATA_FLAGS_48BIT_COMMAND; //For 48 bit command } input.TimeOutValue = 60; input.DataTransferLength = (uint)(dataTransferSzie); //The buffer size that you want to read or write input.CurrentTaskFile = currentTaskFile; input.PreviousTaskFile = preTaskFile; buff1 = Marshal.AllocHGlobal((int)(dataTransferSzie)); Marshal.Copy(buffer, 0, buff1, (int)(dataTransferSzie)); input.offset = buff1; result = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(ATA_PASS_THROUGH_DIRECT))); Marshal.StructureToPtr(input, result, false); status = DeviceIoControl(handle, IOCTL_ATA_PASS_THROUGH_DIRECT, result, Marshal.SizeOf(input), result, Marshal.SizeOf(input), out nBytesReturned, IntPtr.Zero); if (status == false) { errorMessage = Marshal.GetLastWin32Error(); } input = (ATA_PASS_THROUGH_DIRECT)Marshal.PtrToStructure(result, typeof(ATA_PASS_THROUGH_DIRECT)); currentTaskFile = input.CurrentTaskFile; preTaskFile = input.PreviousTaskFile; Marshal.Copy(buff1, buffer, 0, dataTransferSzie); Marshal.FreeHGlobal(buff1); Marshal.FreeHGlobal(result); if (status == false) { return(false); } else { return(true); } }
void ThreadTaskFiles() { stopCopy = false; while (queueFiles.Count != 0 && !stopCopy) { TaskFile tf = queueFiles.Dequeue(); int err = 0; string op = string.Empty; switch (tf.direction) { case 1: op = "копирование файла"; if (tf.from.type == 0) { err = CopyFromBot(tf.from, tf.to); this.Invoke(this.funcUpdateMyFileList); } else { err = -6; } break; case 2: op = "копирование файла"; if (tf.from.type == 0) { err = CopyToBot(tf.from, tf.to); this.Invoke(this.funcUpdateBotFileList); } else { err = -6; } break; case 3: op = "удаление файла"; err = DeleteFile(tf.from.fileName); this.Invoke(this.funcUpdateBotFileList); break; case 4: op = "создание папки"; err = CreateFolder(tf.to); this.Invoke(this.funcUpdateBotFileList); break; } string s = string.Empty; switch (err) { case 0: s = "Операция " + op + " \"" + (tf.from != null ? tf.from.fileName : tf.to) + "\" прошла успешно"; break; case -1: s = "Не удалось открыть поток для операции " + op + " \"" + tf.from + "\""; break; case -2: case -4: case -5: s = "Во время операции " + op + " \"" + tf.from.fileName + "\" произошла ошибка " + err.ToString(); break; case -3: s = "Невозможно создать файл \"" + tf.to + "\""; break; case -6: s = "Можно копировать только файлы, папки нельзя"; break; case -7: s = "Файл \"" + tf.from.fileName + "\" отсутствует"; break; case -8: s = "Ошибка копирования файла \"" + tf.from.fileName + "\", неверная контрольная сумма"; break; default: s = "При операции " + op + " произошла ошибка " + err.ToString(); break; } this.Invoke(this.funcAddHistory, new object[] { s }); } if (stopCopy) { this.Invoke(this.funcAddHistory, new object[] { "Операции с файлами прерваны" }); } this.Invoke(this.funcSetInfoCopy, new object[] { string.Empty, 0 }); threadTaskFiles = null; }