private void CancelJob(object sender, EventArgs e)
        {
            MetroGrid      grd = sender as MetroGrid;
            JobEntityModel job = _view.jobSelected;

            if (grd.Rows.Count > 0)
            {
                if (job.ProcessFlag)
                {
                    MessageBox.Show(string.Format("Cannot cancel this Job, because Job : {0} was Processed"
                                                  , job.JobEntityName)
                                    , "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                DialogResult dialogResult = MessageBox.Show("Are you sure to Cancel this job.", "Please confirm.", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (dialogResult == DialogResult.Yes)
                {
                    foreach (DataGridViewRow dgr in grd.Rows)
                    {
                        JobTaskModel curr = (JobTaskModel)dgr.DataBoundItem;
                        if (curr.Priority > 0)
                        {
                            curr.CancelFlag     = true;
                            curr.LastUpdateDate = DateTime.Now;
                            _repository.UpdateTask(curr);
                        }
                    }
                    _view.tasks = _repository.GetTasksByJobID(_view.jobSelected.JobEntityId);
                    _view.bindingTasks.DataSource = _view.tasks;
                }
            }
        }
示例#2
0
        private void UpdateSchedule(object sender, EventArgs e)
        {
            MetroGrid    grd          = sender as MetroGrid;
            DialogResult dialogResult = MessageBox.Show("Are you sure to Release tasks.", "Please confirm.", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                foreach (DataGridViewRow dgr in grd.Rows)
                {
                    JobTaskModel curr = (JobTaskModel)dgr.DataBoundItem;
                    if (curr.Priority > 0)
                    {
                        curr.LastUpdateDate = DateTime.Now;
                        curr.LastUpdatedBy  = _view.EpiSession.User.Id;

                        _repository.UpdateTask(curr);
                    }
                }

                List <JobTaskModel> list = new List <JobTaskModel>();
                var result   = _repository.GetReleaseTasks().OrderBy(o => o.Priority).ToList();
                var macGroup = result.GroupBy(x => string.IsNullOrEmpty(x.MachineNoReady) ? x.MachineNo : x.MachineNoReady).ToList();

                foreach (var grp in macGroup)
                {
                    var lastTimeRecord = result.Where(x => (string.IsNullOrEmpty(x.MachineNoReady) ? x.MachineNo : x.MachineNoReady) == grp.Key)
                                         .OrderBy(o => o.Priority)
                                         .FirstOrDefault();

                    DateTime nextTime = lastTimeRecord.StartDate;

                    foreach (var item in result.Where(x => (string.IsNullOrEmpty(x.MachineNoReady) ? x.MachineNo : x.MachineNoReady) == grp.Key))
                    {
                        item.StartDate = nextTime;
                        nextTime       = item.EndDate;

                        _repository.UpdateTask(item);
                    }
                }

                Filter(null, null);
            }
        }
        public async Task <Boolean> TransferNcFileService()
        {
            return(await Task.Factory.StartNew(() =>
            {
                bool transferCompleted = false;
                var taskUploadNc = _repoJob.GetReadyToTransferNC();
                if (taskUploadNc != null)
                {
                    bool uploadFlag = false;
                    string resultMessage = string.Empty;
                    string strBasePath = Application.StartupPath + "\\NCFiles\\"
                                         + taskUploadNc.JobNumber
                                         + "\\" + taskUploadNc.TaskNumber;

                    string strFilePath = strBasePath + "\\" + taskUploadNc.NcFile;

                    string NewFile = ReplaceNCFile(strFilePath, strBasePath);

                    int retValueInt = 0;
                    if (!string.IsNullOrEmpty(NewFile))
                    {
                        var machine = _repoMachine.GetByCode(taskUploadNc.MachineNoReady);
                        if (machine != null)
                        {
                            ProgramTransferSrv srv = new ProgramTransferSrv(machine.IpAddress);
                            string fileName = Path.GetFileName(NewFile);
                            resultMessage = srv.UploadCNCProgram(0, NewFile, out retValueInt);

                            if (retValueInt == 0)//EW_OK  = Upload file Successfully.
                            {
                                uploadFlag = true;
                            }
                            else if (retValueInt == 5)
                            {
                                try
                                {
                                    resultMessage = srv.DeleteProgram("0", fileName);
                                    resultMessage = srv.UploadCNCProgram(0, NewFile, out retValueInt);
                                }
                                catch
                                {
                                    uploadFlag = false;
                                    retValueInt = -1;
                                    resultMessage = "Data is protected.";
                                }

                                if (retValueInt == 0)
                                {
                                    uploadFlag = true;
                                }
                                else
                                {
                                    uploadFlag = false;
                                }
                            }
                            else
                            {
                                uploadFlag = false;
                            }
                        }
                        else
                        {
                            uploadFlag = false;
                            resultMessage = "Get Machine Address is null.";
                        }
                    }
                    else
                    {
                        uploadFlag = false;
                        resultMessage = "Cannot replace NC file.";
                    }

                    taskUploadNc.TransferNCFileToMachineFlag = uploadFlag;
                    taskUploadNc.TransferMessage = resultMessage;
                    _repoJob.UpdateTask(taskUploadNc);
                }

                return transferCompleted;
            }));
        }