示例#1
0
        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());
        }
示例#4
0
        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();
                }
            }
        }