Example #1
0
        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);