public int UpdateStates(WFStateDTO message) { using (var projectContext = new DataAccess.MyProjectEntities()) { var dbState = projectContext.State.FirstOrDefault(x => x.ID == message.ID); if (dbState == null) { dbState = new DataAccess.State(); } dbState.ID = message.ID; dbState.Name = message.Name; dbState.StateTypeID = Convert.ToInt16(message.StateType); dbState.ProcessID = message.ProcessID; dbState.Description = message.Description; if (dbState.ID == 0) { projectContext.State.Add(dbState); } while (dbState.StateActivity.Any()) { projectContext.StateActivity.Remove(dbState.StateActivity.First()); } foreach (var msgActionTarget in message.Activities) { var dbStateActivity = new StateActivity(); dbStateActivity.ActivityID = msgActionTarget.ID; dbState.StateActivity.Add(dbStateActivity); } while (dbState.State_Formula.Any()) { projectContext.State_Formula.Remove(dbState.State_Formula.First()); } foreach (var msgActionTarget in message.Formulas) { var dbState_Formula = new State_Formula(); dbState_Formula.FormulaID = msgActionTarget.FormulaID; dbState_Formula.Message = msgActionTarget.Message; dbState_Formula.TrueFalse = msgActionTarget.TrueFalse; dbState.State_Formula.Add(dbState_Formula); } projectContext.SaveChanges(); return(dbState.ID); } }
partial void UpdateState(State instance);
partial void DeleteState(State instance);
partial void InsertState(State instance);