public List <ProjectComponentImages> GetComponentImages(int id) { using (var conn = Connection) { conn.Open(); using (var cmd = conn.CreateCommand()) { cmd.CommandText = @" SELECT Id, ProjectComponentId, ProjectComponentImageUrl FROM ProjectComponentImages WHERE ProjectComponentId = @id "; DbUtilities.AddParameter(cmd, "@id", id); var reader = cmd.ExecuteReader(); var images = new List <ProjectComponentImages>(); while (reader.Read()) { var anImage = new ProjectComponentImages() { Id = DbUtilities.GetInt(reader, "Id"), ProjectComponentId = DbUtilities.GetInt(reader, "ProjectComponentId"), ProjectComponentImageUrl = DbUtilities.GetString(reader, "ProjectComponentImageUrl") }; images.Add(anImage); } reader.Close(); return(images); } } }
/// <summary> /// Builds an instance of a Component Image from a Sql Data Reader object /// </summary> /// <param name="reader"></param> /// <returns>Instance of a <strong>Component Image</strong></returns> public static ProjectComponentImages BuildComponentImageModel(SqlDataReader reader) { var image = new ProjectComponentImages() { Id = DbUtilities.GetInt(reader, "PCImageId"), ProjectComponentId = DbUtilities.GetInt(reader, "ProjectComponentId"), ProjectComponentImageUrl = DbUtilities.GetString(reader, "ProjectComponentImageUrl"), }; return(image); }
public IActionResult AddComponentImage(ProjectComponentImages image) { //Ensure that the project for which the image is being submitted belongs to the current user //OR an authorized subcontractor var currentUser = GetCurrentUserProfile(); var component = _componentRepository.GetComponentById(image.ProjectComponentId); var project = _projectRepository.GetSingleProjectById(component.ProjectId); if (currentUser.Id == project.UserProfileId || currentUser.Id == component.SubcontractorId) { _componentRepository.AddComponentImage(image); return(Ok()); } return(Unauthorized()); }
public void AddComponentImage(ProjectComponentImages image) { using (var conn = Connection) { conn.Open(); using (var cmd = conn.CreateCommand()) { cmd.CommandText = @" INSERT INTO ProjectComponentImages ( ProjectComponentId, ProjectComponentImageUrl) OUTPUT Inserted.Id Values (@ProjectComponentId, @ProjectComponentImageUrl) "; DbUtilities.AddParameter(cmd, "@ProjectComponentId", image.ProjectComponentId); DbUtilities.AddParameter(cmd, "@ProjectComponentImageUrl", image.ProjectComponentImageUrl); image.Id = (int)cmd.ExecuteScalar(); } } }