private async Task <IActionResult> PostMessageImpl(int id) { var vender = await DbContext.Venders .Include(c => c.VenderMessages) .ThenInclude(c => c.VetMember) .FirstOrDefaultAsync(c => c.Id == id); if (vender == null) { return(NotFound()); } if (!string.IsNullOrEmpty(PostMessage)) { var userContext = CoreService.GetUserContext(); var vm = new VenderMessage { Message = PostMessage, VenderId = vender.Id, VetMemberId = userContext.CurrentUser.Id }; DbContext.VenderMessages.Add(vm); await DbContext.SaveChangesAsync(); await SendMessages(vender, userContext.CurrentUser, PostMessage); PostMessage = null; } return(RedirectToPage("Details", new { id = id, isBuyNotification = IsBuyNotification })); }
private async Task <IActionResult> PostMessageImpl(int id) { var donation = await DbContext.Donations.FindAsync(id); if (donation == null) { return(NotFound()); } if (!string.IsNullOrEmpty(PostMessage)) { var userContext = CoreService.GetUserContext(); var dm = new DonationMessage { Message = PostMessage, DonationId = donation.Id, VetMemberId = userContext.CurrentUser.Id }; DbContext.DonationMessages.Add(dm); await DbContext.SaveChangesAsync(); //await SendMessages(trade, userContext.CurrentUser, postMessage); PostMessage = null; } return(RedirectToPage("Details", new { id = id })); }
public async Task <IActionResult> OnPostAsync() { if (Vender.HasDeliveryMessage && string.IsNullOrWhiteSpace(Vender.DeliveryMessage)) { ModelState.AddModelError("Vender.DeliveryMessage", "DMメッセージ内容を入力してください"); } if (!ModelState.IsValid) { return(Page()); } var userContext = CoreService.GetUserContext(); Vender.VetMemberId = userContext.CurrentUser.Id; DbContext.Venders.Add(Vender); await DbContext.SaveChangesAsync(); await Notification(userContext); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //DbContext.Attach(ReactionMap).State = EntityState.Modified; var entity = DbContext.ReactionMaps.Find(ReactionMap.Id); await TryUpdateModelAsync(entity, nameof(ReactionMap)); try { await DbContext.SaveChangesAsync(); SiteContext.ClearReactionMap(); } catch (DbUpdateConcurrencyException) { if (!ReactionMapExists(ReactionMap.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var entity = DbContext.Trades.Find(Trade.Id); var userContext = CoreService.GetUserContext(); if (entity.VetMemberId != userContext.CurrentUser.Id) { return(NotFound()); } await TryUpdateModelAsync(entity, nameof(Trade)); try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TradeExists(entity.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var userContext = CoreService.GetUserContext(); Trade.VetMemberId = userContext.CurrentUser.Id; Trade.OrderRefDate = DateTimeOffset.Now; DbContext.Trades.Add(Trade); await DbContext.SaveChangesAsync(); await DiscordService.SendMessage(DiscordService.Channel.TradeEntryNotification, $@"{Trade.Direction} タイトル:{Trade.Title} 依頼主:{userContext.CurrentUser.Name} 料金:{Trade.Reward} {Trade.RewardComment} 納期:{Trade.DeliveryDate} {Trade.Content} https://vetcoin.azurewebsites.net/Trades/Details?id={Trade.Id}"); return(RedirectToPage("./Index", new { direction = Trade.Direction })); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //DbContext.Attach(Contract).State = EntityState.Modified; var entity = DbContext.Contracts.Find(Contract.Id); // await TryUpdateModelAsync(entity, nameof(Contract)); entity.ContractStatus = ContractStatus.Canceled; try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ContractExists(Contract.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index", new { contractId = Contract.Id })); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //DbContext.Attach(VetMember).State = EntityState.Modified; var userContext = CoreService.GetUserContext(); var entity = userContext.CurrentUser; await TryUpdateModelAsync(entity, nameof(VetMember)); try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!VetMemberExists(VetMember.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (Vender.HasDeliveryMessage && string.IsNullOrWhiteSpace(Vender.DeliveryMessage)) { ModelState.AddModelError("Vender.DeliveryMessage", "DMメッセージ内容を入力してください"); } if (!ModelState.IsValid) { return(Page()); } var entity = DbContext.Venders.Find(Vender.Id); await TryUpdateModelAsync(entity, nameof(Vender)); try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!VenderExists(Vender.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Details", new { id = Vender.Id })); }
public async Task <IActionResult> Subscribe(int id) { var userContext = CoreService.GetUserContext(); var subscription = DbContext.Subscriptions .Include(c => c.VetMember) .FirstOrDefault(c => c.Id == id); DbContext.SubscriptionMembers.Add(new SubscriptionMember { SubscriptionId = id, VetMemberId = userContext.CurrentUser.Id }); await DbContext.SaveChangesAsync(); await CoreService.SendDirectMessage(new[] { subscription.VetMember }, $@"{userContext.CurrentUser.Name}さんが{subscription.Title}に登録されました"); return(await OnGetAsync(id)); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //DbContext.Attach(Contract).State = EntityState.Modified; var entity = DbContext.Contracts .Include(c => c.EscrowTransaction) .First(c => c.Id == Contract.Id); var trade = DbContext.Trades.Find(entity.TradeId); //await TryUpdateModelAsync(entity, nameof(Contract)); //TODO:契約を結ぶためのコード entity.ContractStatus = ContractStatus.Complete; var escrowReciveUser = trade.Direction == Direction.Sell ? DbContext.VetMembers.Find(trade.VetMemberId) : DbContext.VetMembers.Find(entity.VetMemberId); var escrowSendUser = trade.Direction == Direction.Sell ? DbContext.VetMembers.Find(trade.VetMemberId) : DbContext.VetMembers.Find(entity.VetMemberId); entity.EscrowTransaction.RecivedVetMemberId = escrowReciveUser.Id; if (trade.IsContinued) { trade.OrderRefDate = DateTimeOffset.Now; } try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ContractExists(Contract.Id)) { return(NotFound()); } else { throw; } } await SendMessages(entity, escrowSendUser, escrowReciveUser); return(RedirectToPage("./Index", new { contractId = Contract.Id })); }
public async Task <IActionResult> AddImage(int id) { if (ImageFile != null) { using (var stream = new MemoryStream()) { await ImageFile.CopyToAsync(stream); DbContext.TradeImages.Add(new TradeImage { ImageContent = stream.ToArray(), TradeId = id }); } } await DbContext.SaveChangesAsync(); return(await OnGet(id)); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } DbContext.ExteralApplications.Add(ExteralApplication); await DbContext.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } DbContext.ReactionMaps.Add(ReactionMap); await DbContext.SaveChangesAsync(); SiteContext.ClearReactionMap(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } ReactionMap = await DbContext.ReactionMaps.FindAsync(id); if (ReactionMap != null) { DbContext.ReactionMaps.Remove(ReactionMap); await DbContext.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } Trade = await DbContext.Trades.FindAsync(id); if (Trade != null) { Trade.TradeStatus = TradeStatus.Cancel; await DbContext.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //DbContext.Attach(Contract).State = EntityState.Modified; var entity = DbContext.Contracts.Find(Contract.Id); //var trade = DbContext.Trades.Find(entity.TradeId); entity.ContractStatus = ContractStatus.Canceled; //var escrowUser = DbContext.VetMembers.First(c => c.MemberType == MemberType.Escrow); //var escrowTargetUser = trade.Direction == Direction.Buy ? // DbContext.VetMembers.Find(trade.VetMemberId) : // DbContext.VetMembers.Find(entity.VetMemberId); //entity.EscrowTransaction = new CoinTransaction //{ // RecivedVetMemberId = escrowUser.Id, // Amount = entity.Reword, // SendeVetMemberId = escrowTargetUser.Id, // Text = $"{trade.Title } ‘ã‹à {entity.Reword}VEC", //}; try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ContractExists(Contract.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index", new { contractId = Contract.Id })); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } Subscription = await DbContext.Subscriptions.FindAsync(id); if (Subscription != null) { Subscription.SubscriptionStatus = SubscriptionStatus.Cancel; await DbContext.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(Guid?id) { if (id == null) { return(NotFound()); } ExteralApplication = await DbContext.ExteralApplications.FindAsync(id); if (ExteralApplication != null) { DbContext.ExteralApplications.Remove(ExteralApplication); await DbContext.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var userContext = CoreService.GetUserContext(); Donation.VetMemberId = userContext.CurrentUser.Id; DbContext.Donations.Add(Donation); await DbContext.SaveChangesAsync(); await Notification(userContext); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(int tradeId) { if (!ModelState.IsValid) { return(Page()); } var userContext = CoreService.GetUserContext(); Contract.VetMemberId = userContext.CurrentUser.Id; Contract.TradeId = tradeId; DbContext.Contracts.Add(Contract); await DbContext.SaveChangesAsync(); await SendMessages(Contract, userContext.CurrentUser); return(RedirectToPage("./Index", new { contractId = Contract.Id })); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //DbContext.Attach(Contract).State = EntityState.Modified; var entity = DbContext.Contracts .Include(c => c.EscrowTransaction) .First(c => c.Id == Contract.Id); var trade = DbContext.Trades.Find(entity.TradeId); //await TryUpdateModelAsync(entity, nameof(Contract)); //TODO:契約をキャンセルする entity.ContractStatus = ContractStatus.Canceled; DbContext.CoinTransactions.Remove(entity.EscrowTransaction); entity.EscrowTransaction = null; try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ContractExists(Contract.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index", new { contractId = Contract.Id })); }
public async Task <IActionResult> OnPostAsync() { if (Subscription.Fee <= 0) { ModelState.AddModelError("Fee", "1以上の金額を指定してください"); } if (!ModelState.IsValid) { return(Page()); } var userContext = CoreService.GetUserContext(); Subscription.VetMemberId = userContext.CurrentUser.Id; DbContext.Subscriptions.Add(Subscription); await DbContext.SaveChangesAsync(); return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(string mode) { var entity = DbContext.Venders.Find(Vender.Id); switch (mode) { case "Open": entity.IsClosed = false; break; case "Close": entity.IsClosed = true; break; default: break; } try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!VenderExists(Vender.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Details", new { id = Vender.Id })); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(await OnGetAsync(Donation.Id)); } var entity = DbContext.Donations.Find(Donation.Id); var log = new DonationLog { Title = entity.Title, Content = entity.Content, DonationId = Donation.Id }; DbContext.DonationLogs.Add(log); await TryUpdateModelAsync(entity, nameof(Donation)); try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DonationExists(Donation.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Details", new { id = Donation.Id })); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } var userContext = CoreService.GetUserContext(); Trade.VetMemberId = userContext.CurrentUser.Id; Trade.OrderRefDate = DateTimeOffset.Now; DbContext.Trades.Add(Trade); await DbContext.SaveChangesAsync(); if (!IsSkipNotification) { await Notification(userContext); } return(RedirectToPage("./Index", new { direction = Trade.Direction })); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } //DbContext.Attach(Contract).State = EntityState.Modified; var entity = DbContext.Contracts .Include(c => c.VetMember) .FirstOrDefault(c => c.Id == Contract.Id); var trade = DbContext.Trades .Include(c => c.VetMember) .FirstOrDefault(c => c.Id == entity.TradeId); //await TryUpdateModelAsync(entity, nameof(Contract)); //TODO:契約を結ぶためのコード var escrowUser = DbContext.VetMembers.First(c => c.MemberType == MemberType.Escrow); var escrowSendUser = trade.Direction == Direction.Buy ? DbContext.VetMembers.Find(trade.VetMemberId) : DbContext.VetMembers.Find(entity.VetMemberId); var restAmmount = CoreService.CalcAmount(escrowSendUser); if (restAmmount < entity.Reword) { IsInsufficientFunds = true; return(await OnGetAsync(Contract.Id)); } entity.ContractStatus = ContractStatus.Working; entity.EscrowTransaction = new CoinTransaction { RecivedVetMemberId = escrowUser.Id, Amount = entity.Reword, SendeVetMemberId = escrowSendUser.Id, Text = $"{trade.Title } 代金 {entity.Reword}VEC", TransactionType = CoinTransactionType.Contract }; try { await DbContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ContractExists(Contract.Id)) { return(NotFound()); } else { throw; } } await SendMessages(entity, trade.VetMember, entity.VetMember); return(RedirectToPage("./Index", new { contractId = Contract.Id })); }