public void AddOfferRecord(OfferRecord record) { if (OfferHistory.Count == _offerRecordsLimit) { OfferHistory.RemoveAt(0); } OfferHistory.Add(record); }
public ActionResult <GenericResponseModel> NewOffer([FromBody] OfferHistory pOfferHistory) { var loUserId = HelperMethods.GetApiUserIdFromToken(HttpContext.User.Identity); var loGenericResponse = new GenericResponseModel { Code = -1, Status = "Fail" }; var loOffer = GetData.GetOfferById(pOfferHistory.offer_uuid.ToString()); if (loOffer == null) { loGenericResponse.Message = "Kayıtlı teklif bulunamadı!"; return(loGenericResponse); } if (loOffer.price >= pOfferHistory.amount) { loGenericResponse.Message = "Lütfen güncel tekflinizden daha yüksek bir teklif veriniz."; return(loGenericResponse); } var loAsset = GetData.GetAssetById(loOffer.asset_uuid.ToString()); if (!loAsset.max_offer_amount.HasValue || pOfferHistory.amount >= loAsset.max_offer_amount + loAsset.minimum_increate_amout.Value) { loOffer.price = pOfferHistory.amount; loAsset.max_offer_amount = pOfferHistory.amount; pOfferHistory.row_create_date = DateTime.Now; loAsset.row_update_date = pOfferHistory.row_create_date; loOffer.row_update_date = pOfferHistory.row_create_date; var loId = Crud <OfferHistory> .InsertNewOffer(pOfferHistory, loOffer, loAsset); if (loId > 0) { Task.Run(() => HelperMethods.SendNewOfferInformation(pOfferHistory.offer_uuid)); loGenericResponse.Code = 200; loGenericResponse.Status = "OK"; } else { loGenericResponse.Message = "Teklif kaydı esnasında bir problem oluştu. Lütfen tekrar deneyiniz."; } return(loGenericResponse); } loGenericResponse.Code = -2; loGenericResponse.Message = "Sizden önce teklif yükseltilmiş. Lütfen teklifinizi gözden geçiriniz."; return(loGenericResponse); }
public float GetTradeSuccessRatio() { float successes; float rounds = _attemptedTradeLimit; //float rounds = AttemptedTrades.Count(); successes = OfferHistory.Skip(Math.Max(0, OfferHistory.Count() - (int)_attemptedTradeLimit)).Where(record => record.Success == true).Count(); //successes = AttemptedTrades.Where(x => x == true).Count(); return(successes / rounds); }
public OfferHistoryResponse(OfferHistory offerHistory, int type) { this.JobId = offerHistory.JobId; this.FreelancerId = offerHistory.FreelancerId; this.OfferPrice = offerHistory.OfferPrice; this.ExpectedDay = offerHistory.ExpectedDay; this.Description = offerHistory.Description; this.TodoList = offerHistory.TodoList; try { this.Freelancer = type == 2 ?new AccountForListResponse(offerHistory.Freelancer):null; } catch (Exception) { } try { this.Job = type == 1? new JobForListResponse(offerHistory.Job):null; } catch (Exception) { } }
public static int InsertNewOffer(OfferHistory pOfferHistory, Offer pOffer, Asset pAsset) { int loResult = 0; using var connection = Connection.ConnectionWinvestate(); connection.Open(); using var transaction = connection.BeginTransaction(); try { loResult = (int)connection.Insert(pOfferHistory, transaction); if (loResult <= 0) { transaction.Rollback(); return(0); } pOfferHistory.id = (int)loResult; if (!connection.Update(pOffer, transaction)) { transaction.Rollback(); return(0); } if (!connection.Update(pAsset, transaction)) { transaction.Rollback(); return(0); } } catch (Exception ex) { transaction.Rollback(); return(0); } transaction.Commit(); return(loResult); }
public async Task <ActionResult <OfferHistory> > PostOfferHistory([FromBody] OfferHistoryPost offerHistoryPost) { if (_context.Jobs.Find(offerHistoryPost.JobId) == null) { return(BadRequest()); } var freelancer = _context.Accounts.Find(offerHistoryPost.FreelancerId); if (freelancer == null) { return(BadRequest()); } String jwt = Request.Headers["Authorization"]; jwt = jwt.Substring(7); //Decode jwt and get payload var stream = jwt; var handler = new JwtSecurityTokenHandler(); var jsonToken = handler.ReadToken(stream); var tokenS = jsonToken as JwtSecurityToken; //I can get Claims using: var email = tokenS.Claims.First(claim => claim.Type == "email").Value; if (email != freelancer.Email || freelancer.IsAccuracy == false) { return(BadRequest()); } if (_context.OfferHistories .Where(p => p.FreelancerId == freelancer.Id && offerHistoryPost.JobId == p.JobId).Count() >= 3) { return(Ok("Oops... You have only three times to offer this job.")); } var offerHistory = new OfferHistory() { JobId = offerHistoryPost.JobId, FreelancerId = offerHistoryPost.FreelancerId, Description = offerHistoryPost.Description, ExpectedDay = offerHistoryPost.ExpectedDay, OfferPrice = offerHistoryPost.OfferPrice, TodoList = offerHistoryPost.TodoList, }; _context.OfferHistories.Add(offerHistory); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (OfferHistoryExists(offerHistory.JobId)) { return(Conflict()); } else { throw; } } return(Ok()); }
//SQL DB Retrieval Function: public void DBViewOfferRedemptionHistoryReturn(string mobile) { try { string CMSPlayerID = ServerSide.DBGetCMSPlayerID(mobile); DataSet result = new DataSet(); List <SqlParameter> spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@CMSPlayerID", CMSPlayerID)); result = DataAcess.ExecuteQuerySP("PEC.TODO", spParams); if (result.Tables[0].Rows.Count > 0) { HeaderCaptionLine1 = result.Tables[0].Rows[0]["HeaderCaption"].ToString(); HeaderCaptionLine2 = result.Tables[0].Rows[0]["HeaderCaptionLine2"].ToString(); OfferHistoryExists = Convert.ToBoolean(result.Tables[0].Rows[0]["OfferHistoryExists"].ToString()); FooterCaptionLine1 = result.Tables[0].Rows[0]["HeaderCaption"].ToString(); FooterCaptionLine2 = result.Tables[0].Rows[0]["HeaderCaption"].ToString(); if (OfferHistoryExists) { DataSet oHDS = new DataSet(); List <SqlParameter> offerHistoryParams = new List <SqlParameter>(); offerHistoryParams.Add(new SqlParameter("@CMSPlayerID", CMSPlayerID)); oHDS = DataAcess.ExecuteQuerySP("PEC.TODO", offerHistoryParams); for (int i = 0; i < oHDS.Tables[0].Rows.Count; i++) { Offer newOffer = new Offer(); newOffer.Description = oHDS.Tables[0].Rows[i][""].ToString(); newOffer.Value = oHDS.Tables[0].Rows[i][""].ToString(); newOffer.ExpiresDate = Convert.ToDateTime(oHDS.Tables[0].Rows[i][""].ToString()); newOffer.IssuedDate = Convert.ToDateTime(oHDS.Tables[0].Rows[i][""].ToString()); newOffer.PrizeType = oHDS.Tables[0].Rows[i][""].ToString(); newOffer.IsExpired = Convert.ToBoolean(oHDS.Tables[0].Rows[i][""].ToString()); newOffer.IsRedeemed = Convert.ToBoolean(oHDS.Tables[0].Rows[i][""].ToString()); newOffer.HasBarcode = Convert.ToBoolean(oHDS.Tables[0].Rows[i][""].ToString()); if (newOffer.HasBarcode) { MemoryStream ms = new MemoryStream((byte[])oHDS.Tables[0].Rows[i][""]); byte[] bytes = ms.ToArray(); newOffer.Barcode = bytes; } else { newOffer.Barcode = null; } OfferHistory.Add(newOffer); } } } else { RemoveData(); } } catch (SqlException ex) { string errorMessage = ex.Message; } }