Exemple #1
0
        public SubContractorBid GetBidByComponent(int id)
        {
            using (var conn = Connection)
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                                        SELECT Id AS BidId, ProjectComponentId, SubContractorId, UserProfileId, Fee, SubAccepted, OwnerComment
                                        FROM SubContractorBid
                                        WHERE ProjectComponentId = @Id
                                        ";
                    DbUtilities.AddParameter(cmd, "@Id", id);

                    var reader = cmd.ExecuteReader();

                    SubContractorBid bid = null;

                    if (reader.Read())
                    {
                        bid = DbModelBuilder.BuildSubContractorBidModel(reader);
                    }

                    reader.Close();

                    return(bid);
                }
            }
        }
        public IActionResult BidRequest(SubContractorBid bid)
        {
            var currentUser = GetCurrentUserProfile();

            //Verify that the POST request is coming from= the project owner
            if (currentUser.Id == bid.UserProfileId)
            {
                _bidRepository.StartBid(bid);
                return(Ok(CreatedAtAction("Get", new { id = bid.Id }, bid)));
            }
            return(Unauthorized());
        }
        public IActionResult AcceptBid(SubContractorBid bid)
        {
            var currentUser = GetCurrentUserProfile();

            //Verify that the POST request is coming from= the project owner
            if (currentUser.contractor.Id == bid.SubContractorId)
            {
                bid.SubAccepted = DateTime.Now;
                _bidRepository.AcceptBid(bid);
                return(Ok(CreatedAtAction("Get", new { id = bid.Id }, bid)));
            }
            return(Unauthorized());
        }
        /// <summary>
        /// Builds an instance of a SubContractor from a Sql Data Reader object
        /// </summary>
        /// <param name="reader"></param>
        /// <returns>Instance of a <strong>SubContractor</strong></returns>
        public static SubContractorBid BuildSubContractorBidModel(SqlDataReader reader)
        {
            var subContractorBid = new SubContractorBid()
            {
                Id = DbUtilities.GetInt(reader, "BidId"),
                ProjectComponentId = DbUtilities.GetInt(reader, "ProjectComponentId"),
                SubContractorId    = DbUtilities.GetInt(reader, "SubContractorId"),
                UserProfileId      = DbUtilities.GetInt(reader, "UserProfileId"),
                Fee          = DbUtilities.GetInt(reader, "Fee"),
                SubAccepted  = DbUtilities.GetNullableDateTime(reader, "SubAccepted"),
                OwnerComment = DbUtilities.GetString(reader, "OwnerComment")
            };

            return(subContractorBid);
        }
Exemple #5
0
        public void AcceptBid(SubContractorBid bid)
        {
            using (var conn = Connection)
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                                        UPDATE SubContractorBid
                                        SET SubAccepted = @SubAccepted
                                        WHERE Id = @id
                                        ";
                    DbUtilities.AddParameter(cmd, "@SubAccepted", bid.SubAccepted);
                    DbUtilities.AddParameter(cmd, "@id", bid.Id);

                    cmd.ExecuteNonQuery();
                }
            }
        }
Exemple #6
0
        public void StartBid(SubContractorBid bid)
        {
            using (var conn = Connection)
            {
                conn.Open();
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = @"
                                        INSERT INTO SubContractorBid (ProjectComponentId, SubContractorId, UserProfileId, Fee, OwnerComment)
                                        OUTPUT Inserted.Id
                                        Values ( @ProjectComponentId, @SubContractorId, @UserProfileId, @Fee, @OwnerComment)
                                        ";
                    DbUtilities.AddParameter(cmd, "@ProjectComponentId", bid.ProjectComponentId);
                    DbUtilities.AddParameter(cmd, "@SubContractorId", bid.SubContractorId);
                    DbUtilities.AddParameter(cmd, "@UserProfileId", bid.UserProfileId);
                    DbUtilities.AddParameter(cmd, "@Fee", bid.Fee);
                    DbUtilities.AddParameter(cmd, "@OwnerComment", bid.OwnerComment);

                    bid.Id = (int)cmd.ExecuteScalar();
                }
            }
        }