/// <summary>
 /// Deprecated Method for adding a new object to the CommunicationActions EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToCommunicationActions(CommunicationAction communicationAction)
 {
     base.AddObject("CommunicationActions", communicationAction);
 }
        public CommunicationAction AssignCommunicationEngineer(int requestId, string notes)
        {
            var request = GetRequestById(requestId);

            var action = new CommunicationAction
            {
                User = GetCurrentUser(),
                Assigned = true,
                RequestId = requestId,
                Notes = notes,
                Date = DateTime.Now
            };

            db.CommunicationActions.AddObject(action);

            return action;
        }
 /// <summary>
 /// Create a new CommunicationAction object.
 /// </summary>
 /// <param name="id">Initial value of the Id property.</param>
 /// <param name="userId">Initial value of the UserId property.</param>
 /// <param name="date">Initial value of the Date property.</param>
 /// <param name="requestId">Initial value of the RequestId property.</param>
 /// <param name="assigned">Initial value of the Assigned property.</param>
 public static CommunicationAction CreateCommunicationAction(global::System.Int32 id, global::System.Int32 userId, global::System.DateTime date, global::System.Int32 requestId, global::System.Boolean assigned)
 {
     CommunicationAction communicationAction = new CommunicationAction();
     communicationAction.Id = id;
     communicationAction.UserId = userId;
     communicationAction.Date = date;
     communicationAction.RequestId = requestId;
     communicationAction.Assigned = assigned;
     return communicationAction;
 }
        public CommunicationAction ReleaseCommunicationEngineer(int requestId, string notes)
        {
            var request = GetRequestById(requestId);

            var lastAction = request.CommunicationActions.LastOrDefault();

            if (lastAction != null && lastAction.Assigned)
            {
                var action = new CommunicationAction
                {
                    User = GetCurrentUser(),
                    Assigned = false,
                    RequestId = requestId,
                    Notes = notes,
                    Date = DateTime.Now
                };

                db.CommunicationActions.AddObject(action);

                return action;
            }

            return null;
        }