public void UpdatePromoterInfo(PromoteResponse promoteInfo) { _promoterLogin.Text = $"@{promoteInfo.Bot.Author}"; if (!string.IsNullOrEmpty(promoteInfo.Bot.Avatar)) { Picasso.With(_context).Load(promoteInfo.Bot.Avatar.GetImageProxy(_promoterAvatar.LayoutParameters.Width, _promoterAvatar.LayoutParameters.Height)) .Placeholder(Resource.Drawable.ic_holder) .NoFade() .Priority(Picasso.Priority.Normal) .Into(_promoterAvatar, null, null); } else { Picasso.With(_context).Load(Resource.Drawable.ic_holder).Into(_promoterAvatar); } var expectedUpvoteTime = promoteInfo.ExpectedUpvoteTime; var timer = new Timer(obj => { expectedUpvoteTime = expectedUpvoteTime.Subtract(TimeSpan.FromSeconds(1)); _handler.Post(new Runnable(() => { _expectedUpvoteTimeLabel.Text = expectedUpvoteTime.ToString().Length > 8 ? expectedUpvoteTime.ToString().Remove(8) : expectedUpvoteTime.ToString(); })); }, null, DateTime.Now.Add(expectedUpvoteTime).Millisecond, (int)TimeSpan.FromSeconds(1).TotalMilliseconds); }
public PromoteResponse PromoteStudents(PromoteRequest request) { PromoteResponse response = new PromoteResponse(); using (var client = new SqlConnection("Data Source = db-mssql.pjwstk.edu.pl; Initial Catalog = s16796; Integrated Security = True")) { using (var command = new SqlCommand()) { command.Connection = client; client.Open(); command.CommandText = "EXEC Promote @Studies, @Semester"; command.Parameters.AddWithValue("Studies", request.Studies); command.Parameters.AddWithValue("Semester", request.Semester); var dr = command.ExecuteReader(); if (dr.Read()) { response.IdEnrollment = Convert.ToInt32(dr["IdEnrollment"].ToString()); response.IdStudy = Convert.ToInt32(dr["IdStudy"].ToString()); response.Semester = Convert.ToInt32(dr["Semester"].ToString()); response.StartDate = Convert.ToDateTime(dr["StartDate"].ToString()); return(response); } else { throw new ArgumentException("Promotion failed, wrong arguments"); } } } }
public async Task <OperationResult <PromoteResponse> > FindPromoteBot(PromoteRequest promoteModel) { if (!EnableRead) { return(null); } var botsResponse = await HttpClient.Get <List <BidBot> >("https://steembottracker.net/bid_bots", CancellationToken.None); if (!botsResponse.IsSuccess) { return(new OperationResult <PromoteResponse>(botsResponse.Exception)); } var priceResponse = await HttpClient.Get <Price>("https://postpromoter.net/api/prices", CancellationToken.None); if (!priceResponse.IsSuccess) { return(new OperationResult <PromoteResponse>(priceResponse.Exception)); } var steemToUSD = priceResponse.Result.SteemPrice; var sbdToUSD = priceResponse.Result.SbdPrice; var votersModel = new VotersModel(promoteModel.PostToPromote.Url, VotersType.Likes); var usersResult = await GetPostVoters(votersModel, CancellationToken.None); if (!usersResult.IsSuccess) { return(new OperationResult <PromoteResponse>(usersResult.Exception)); } var postAge = (DateTime.Now - promoteModel.PostToPromote.Created).TotalDays; var suitableBot = botsResponse.Result .Where(x => CheckBot(x, postAge, promoteModel, steemToUSD, sbdToUSD, usersResult.Result.Results)) .OrderBy(x => x.Next) .FirstOrDefault(); if (suitableBot == null) { return(new OperationResult <PromoteResponse>(new ValidationException())); } var response = await SearchUser(new SearchWithQueryModel(suitableBot.Name), CancellationToken.None); if (!response.IsSuccess) { return(new OperationResult <PromoteResponse>(response.Exception)); } var promoteResponse = new PromoteResponse(response.Result.Results.First(), TimeSpan.FromMilliseconds(suitableBot.Next.Value)); return(new OperationResult <PromoteResponse>(promoteResponse)); }
public PromoteResponse PromoteStudent(int semester, string studies) { using (var client = new SqlConnection(@"Data Source=db-mssql;Initial Catalog=2019SBD;Integrated Security=True")) using (var com = new SqlCommand()) { client.Open(); com.Connection = client; com.CommandText = "SELECT * FROM Enrollment, Studies WHERE Enrollment.IdStudy=Studies.IdStudy AND Enrollment.semester=@semester AND Studies.Name=@Studies"; com.Parameters.AddWithValue("semester", semester); com.Parameters.AddWithValue("Studies", studies); var dr = com.ExecuteReader(); if (!dr.Read()) { return(null); } dr.Close(); com.CommandType = System.Data.CommandType.StoredProcedure; com.CommandText = "Promotion"; com.ExecuteNonQuery(); com.CommandType = System.Data.CommandType.Text; com.CommandText = "select * from Enrollment,Studies where Enrollment.IdStudy=Studies.IdStudy and Name=@Studies and Semester=@semestern"; com.Parameters.AddWithValue("semestern", semester + 1); var dr2 = com.ExecuteReader(); dr2.Read(); var enrollment = new Enrollment(); enrollment.IdStudy = (int)dr2["IdStudy"]; enrollment.Semester = (int)dr2["Semester"]; var StartDate = dr2["StartDate"]; enrollment.StartDate = DateTime.Now; var promotion = new PromoteResponse(enrollment); return(promotion); } }
public async Task <IActionResult> Promote(PromoteRequest request) { var serviceStatus = await _service.PromoteStudents(request.Semester, request.Studies); var response = new PromoteResponse() { Semester = request.Semester + 1 }; if (serviceStatus.IsSucceeded) { return(NotFound()); } return(Created(string.Empty, response)); }
private async Task FindPromoter() { var mainHolder = _adapter.MainHolder; if (string.IsNullOrEmpty(mainHolder.AmountEdit)) { _adapter.MainHolder.ShowError($"{AppSettings.LocalizationManager.GetText(LocalizationKeys.MinBid)} {Constants.MinBid}"); return; } if (!double.TryParse(mainHolder.AmountEdit, NumberStyles.Any, CultureInfo.InvariantCulture, out var amountEdit)) { return; } if (amountEdit > mainHolder.Balances?.Find(x => x.CurrencyType == mainHolder.PickedCoin).Value) { mainHolder.ShowError(AppSettings.LocalizationManager.GetText(LocalizationKeys.NotEnoughBalance)); return; } if (string.IsNullOrEmpty(mainHolder.AmountEdit) || !IsValidAmount(mainHolder.AmountEdit)) { return; } _promoteRequest = new PromoteRequest { Amount = amountEdit, CurrencyType = mainHolder.PickedCoin, PostToPromote = _post }; var promoter = await _presenter.FindPromoteBot(_promoteRequest); if (promoter.IsSuccess) { _promoterResult = promoter.Result; _adapter.FoundHolder.UpdatePromoterInfo(_promoterResult); _pager.SetCurrentItem((int)Pages.Promoter, true); } else { _adapter.MessageHolder.SetupMessage(AppSettings.LocalizationManager.GetText(LocalizationKeys.PromoterNotFound), string.Empty); ShowResultMessage(AppSettings.LocalizationManager.GetText(LocalizationKeys.PromoterSearchResult), AppSettings.LocalizationManager.GetText(LocalizationKeys.SearchAgain), false); } }
public PromoteResponse PromoteStudents(PromoteRequest request, s16796Context context) { PromoteResponse response = new PromoteResponse(); var paramStudies = request.Studies; var paramSemester = request.Semester; var result = context.Enrollment.FromSqlRaw("exec Promote {0}, {1}", paramStudies, paramSemester).AsEnumerable().FirstOrDefault(); if (result != null) { response.IdEnrollment = result.IdEnrollment; response.IdStudy = result.IdStudy; response.Semester = result.Semester; response.StartDate = result.StartDate; return(response); } else { throw new ArgumentException("Promotion failed, wrong arguments"); } }
public PromoteResponse PromoteStudents(PromoteRequest request) { //using (var client = new SqlConnection("Data Source=db-mssql.pjwstk.edu.pl;Initial Catalog=2019SBD;Integrated Security=True")) //using (var com = new SqlCommand()) { //client.Open(); //com.Connection = client; var result = _context.Enrollment.Join(_context.Studies, p => p.IdStudy, v => v.IdStudy, (p, v) => new { p, v }).Where(d => d.p.Semester == request.Semester && d.v.Name.Equals(request.Studies)).FirstOrDefault(); //com.CommandText = "select * from Enrollment,Studies where Enrollment.IdStudy=Studies.IdStudy and Enrollment.semester=@semester and Studies.Name=@Studies"; //com.Parameters.AddWithValue("semester", request.Semester); //com.Parameters.AddWithValue("Studies", request.Studies); //var dr = com.ExecuteReader(); if (result == null) { return(null); } //dr.Close(); var name = new SqlParameter("@name", request.Studies); var semester = new SqlParameter("@semester", request.Semester); var list1 = _context.Database.ExecuteSqlCommand("exec Promotion @name, @semester", name, semester); //com.CommandType = System.Data.CommandType.StoredProcedure; //com.CommandText = "Promotion"; //com.ExecuteNonQuery(); //com.CommandType = System.Data.CommandType.Text; var result3 = _context.Enrollment.Join(_context.Studies, p => p.IdStudy, v => v.IdStudy, (p, v) => new { p, v }).Where(d => d.p.Semester == request.Semester + 1 && d.v.Name.Equals(request.Studies)).FirstOrDefault(); //com.CommandText = "select * from Enrollment,Studies where Enrollment.IdStudy=Studies.IdStudy and Name=@Studies and Semester=@semestern"; //com.Parameters.AddWithValue("semestern", request.Semester + 1); //var dr2 = com.ExecuteReader(); //dr2.Read(); var enrollment = new Models.Enrollment(); enrollment.IdStudy = result3.p.IdStudy; enrollment.semester = result3.p.Semester; var StartDate = result3.p.StartDate; enrollment.StartDate = StartDate.ToString(); var promotion = new PromoteResponse(enrollment); return(promotion); } }