public void Duplicate() { if (!isProcessingMultipleDuplicates) { MainViewModel.EntitiesUndoRedoManager.PauseActionId(); } foreach (BASELINE_ITEMProjection selectedEntity in MainViewModel.SelectedEntities) { BASELINE_ITEMProjection newProjection = new BASELINE_ITEMProjection(); DataUtils.ShallowCopy(newProjection.BASELINE_ITEM, selectedEntity.BASELINE_ITEM); newProjection.BASELINE_ITEM.GUID = Guid.Empty; AREA selectedAREA = AREACollection.FirstOrDefault(x => x.GUID == newProjection.BASELINE_ITEM.GUID_AREA); DISCIPLINE selectedDISCIPLINE = DISCIPLINECollection.FirstOrDefault(x => x.GUID == newProjection.BASELINE_ITEM.GUID_DISCIPLINE); DOCTYPE selectedDOCTYPE = DOCTYPECollection.FirstOrDefault(x => x.GUID == newProjection.BASELINE_ITEM.GUID_DOCTYPE); newProjection.BASELINE_ITEM.INTERNAL_NUM = BluePrintDataUtils.BASELINEITEM_Generate_InternalNumber(loadPROJECT, MainViewModel.Entities, selectedAREA, selectedDISCIPLINE, selectedDOCTYPE, newProjection.GUID); MainViewModel.EntitiesUndoRedoManager.AddUndo(newProjection, null, null, null, EntityMessageType.Added); MainViewModel.Save(newProjection); } if (!isProcessingMultipleDuplicates) { MainViewModel.EntitiesUndoRedoManager.UnpauseActionId(); } }
public async Task <ActionResult> Edit([Bind(Include = "DISCIPLINE_CODE,DISCIPLINE_NAME")] DISCIPLINE dISCIPLINE) { if (ModelState.IsValid) { db.Entry(dISCIPLINE).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(dISCIPLINE)); }
public async Task <ActionResult> Create( [Bind(Include = "DISCIPLINE_CODE,DISCIPLINE_NAME")] DISCIPLINE dISCIPLINE) { if (ModelState.IsValid) { db.DISCIPLINE.Add(dISCIPLINE); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(dISCIPLINE)); }
/// <summary> /// Generate internal number1 when all required fields are populated /// </summary> public static string BASELINEITEM_Generate_InternalNumber(PROJECT fromPROJECT, BASELINE_ITEM fromBASELINE_ITEM, IEnumerable <BASELINE_ITEM> BASELINE_ITEMEntities, AREA selectedAREA, DISCIPLINE selectedDISCIPLINE, DOCTYPE selectedDOCTYPE) { if (selectedAREA != null && selectedDISCIPLINE != null && selectedDOCTYPE != null) { string InternalNum = fromPROJECT.NUMBER; InternalNum += "-" + selectedAREA.INTERNAL_NUM; InternalNum += selectedDOCTYPE.CODE; InternalNum += selectedDISCIPLINE.CODE; int InternalNameCount = BASELINE_ITEMEntities.Count(obj => obj.INTERNAL_NUM != null && obj.INTERNAL_NUM.Contains(InternalNum)) + 1; InternalNum += InternalNameCount.ToString(); return(InternalNum); } else { return(string.Empty); } }
/// <summary> /// Generate internal number1 when all required fields are populated /// </summary> public static string BASELINEITEM_Generate_InternalNumber(PROJECT fromPROJECT, IEnumerable <BASELINE_ITEMProjection> BASELINE_ITEMEntities, AREA selectedAREA, DISCIPLINE selectedDISCIPLINE, DOCTYPE selectedDOCTYPE, Guid?excludeGUID = null) { if (selectedAREA != null && selectedDISCIPLINE != null && selectedDOCTYPE != null) { string InternalNum = fromPROJECT.NUMBER; if (selectedAREA != null) { InternalNum += "-" + selectedAREA.INTERNAL_NUM; } if (selectedDOCTYPE != null) { InternalNum += selectedDOCTYPE.CODE; } if (selectedDISCIPLINE != null) { InternalNum += selectedDISCIPLINE.CODE; } int internalNameCount = BASELINE_ITEMEntities.Where(x => x.GUID != excludeGUID).Count(x => x.BASELINE_ITEM.INTERNAL_NUM != null && x.BASELINE_ITEM.INTERNAL_NUM.Contains(InternalNum)); internalNameCount += 1; InternalNum += internalNameCount.ToString(); return(InternalNum); } else { return(string.Empty); } }