/// <summary> /// Saves this instance. /// </summary> /// <returns></returns> public static bool SaveOrUpdate(ProjectNotification entity) { if (entity == null) throw new ArgumentNullException("entity"); if (entity.ProjectId <= Globals.NEW_ID) throw (new ArgumentException("Cannot save notification, the project id is invalid")); var tempId = DataProviderManager.Provider.CreateNewProjectNotification(entity); if (tempId <= 0) return false; entity.Id = tempId; return true; }
/// <summary> /// Adds the user. /// </summary> /// <param name="s">The s.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> protected void AddProjectNotification(Object s, EventArgs e) { //The users must be added to a list first because the collection can not //be modified while we iterate through it. var usersToAdd = lstAllProjects.Items.Cast<ListItem>().Where(item => item.Selected).ToList(); foreach (var item in usersToAdd) { var notification = new ProjectNotification { ProjectId = Convert.ToInt32(item.Value), NotificationUsername = Security.GetUserName() }; if (!ProjectNotificationManager.SaveOrUpdate(notification)) continue; lstSelectedProjects.Items.Add(item); lstAllProjects.Items.Remove(item); } lstSelectedProjects.SelectedIndex = -1; }
/// <summary> /// Creates the new project notification. /// </summary> /// <param name="newProjectNotification">The new project notification.</param> /// <returns></returns> public override int CreateNewProjectNotification(ProjectNotification newProjectNotification) { // Validate Parameters if (newProjectNotification == null) throw (new ArgumentNullException("newProjectNotification")); try { using (var sqlCmd = new SqlCommand()) { AddParamToSqlCmd(sqlCmd, "@ReturnValue", SqlDbType.Int, 0, ParameterDirection.ReturnValue, null); AddParamToSqlCmd(sqlCmd, "@ProjectId", SqlDbType.Int, 0, ParameterDirection.Input, newProjectNotification.ProjectId); AddParamToSqlCmd(sqlCmd, "@NotificationUserName", SqlDbType.NText, 255, ParameterDirection.Input, newProjectNotification.NotificationUsername); SetCommandType(sqlCmd, CommandType.StoredProcedure, SP_PROJECTNOTIFICATION_CREATE); ExecuteScalarCmd(sqlCmd); return ((int)sqlCmd.Parameters["@ReturnValue"].Value); } } catch (Exception ex) { throw ProcessException(ex); } }
// Project Notifications public abstract int CreateNewProjectNotification(ProjectNotification newProjectNotification);