private void OpenCreateProcescellWindow(ProcescellType celltype) { ProcessCellService service = new ProcessCellService(); Procescell procescell = service.GenerateNextProcescell(celltype, Procescells); _MainView.OpenCreateProcescellView(procescell); }
public Procescell GenerateNextProcescell(ProcescellType celltype, ICollection <Procescell> Procescells) { List <int> procIds = new List <int>(); foreach (Procescell r in Procescells) { if (celltype.ToString() == r.prc_ProcescellTypeId) { string routeid = new string(r.prc_ProcescellId.Where(char.IsDigit).ToArray()); procIds.Add(Convert.ToInt32(routeid)); } } int firstAvailable = Enumerable.Range(1, int.MaxValue).Except(procIds).FirstOrDefault(); Procescell procescell = new Procescell(celltype, firstAvailable); return(procescell); }
public Procescell(ProcescellType type, int firstavailableNumber) { prc_ProcescellId = type.ToString() + firstavailableNumber; prc_ProcescellNm = Enumerations.GetEnumDescription(type) + " " + firstavailableNumber; prc_ShortProcescellNm = type.ToString() + firstavailableNumber; prc_ProdLocked = false; prc_ProcescellTypeId = type.ToString(); prc_OAProcesCellId = "pc" + type.ToString() + "" + firstavailableNumber; prc_OABatchReqObjectNm = "Customer." + Enumerations.GetEnumDescription(type) + ".pc" + type.ToString() + firstavailableNumber + ".General.scBatchRequest" + type.ToString() + firstavailableNumber; prc_BatchReqTypeId = "DC"; prc_BatchStartTypeId = "Scheduled"; prc_BatchOptions = ""; prc_Display = "1"; Routes = new ObservableCollection <Route>(); Subroutes = new ObservableCollection <Subroute>(); ProcessCellParameters = new ObservableCollection <ProcessCellParameter>(); }