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); }
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(); } } }
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(); } } }