public async Task <IActionResult> UpdateRequest([FromBody] StatusUpdateViewModel model) { if (!Guid.TryParse(model.Id, out Guid requestId)) { return(NotFound()); } PaymentRequest request = await DataContext.Store .GetOneAsync <PaymentRequest>(r => r.Id == requestId); if (model.Status == RequestStatus.Pending) { return(BadRequest("Forbidden action attempted. Transactions cannot be reversed.")); } if (request.Status != RequestStatus.Pending) { return(BadRequest("The current transaction has already been completed")); } if (model.Status == RequestStatus.Declined) { request.Status = model.Status; await DataContext.Store.UpdateOneAsync(request); return(Ok()); } if (!await PaymentService.ConcludeTransaction(request)) { return(BadRequest("Failed to process request")); } return(Ok()); }
public IList <StatusUpdateViewModel> GetStatusUpdates(int pageId) { var statusUpdates = StatusUpdates.Where(x => x.PageId == pageId).OrderByDescending(x => x.UpdateDate) .ToList(); return(statusUpdates.Select(x => StatusUpdateViewModel.FromModel(x)).ToList()); }
public void CreatesStatusUpdateItem() { controller.SetCurrentPage(AppContext, homePage.Content); var post = new StatusUpdateViewModel { Post = "Hei hei!", PageId = homeId }; var result = controller.CreateStatusUpdateItem(post); Assert.IsTrue(AppContext.Hive.Cms().Content.Any<Content>("NodeTypeAlias = @0 && post = @1", "statusUpdate", "Hei hei!")); Assert.IsInstanceOf<RedirectToUmbracoPageResult>(result); Assert.AreEqual(homePage.Content.Id, ((RedirectToUmbracoPageResult)result).PageEntity.Id); }
public StatusUpdateViewModel CreateStatusUpdate(StatusUpdateViewModel model) { var statusUpdate = StatusUpdate.FromViewModel(model); statusUpdate.UpdateDate = DateTime.Now; UnitOfWork.Add(statusUpdate); UnitOfWork.SaveChanges(); return(StatusUpdateViewModel.FromModel(statusUpdate)); }
public static StatusUpdate FromViewModel(StatusUpdateViewModel model) { var statusUpdate = new StatusUpdate(); statusUpdate.Text = model.Text; statusUpdate.PageId = model.PageId; statusUpdate.Id = model.Id; statusUpdate.UpdateDate = model.UpdateDate; statusUpdate.Author = model.Author; return(statusUpdate); }
public ActionResult Index(StatusUpdateViewModel model) { if (ModelState.IsValid) { var userId = WebSecurity.GetUserId(User.Identity.Name); _db.StatusUpdates.Add(new StatusUpdate { Status = model.Status, UserId = userId, StatusDate = DateTime.Now }); _db.SaveChanges(); return(RedirectToAction("Index")); } return(View(model)); }
public async Task <IActionResult> UpdateClaim(StatusUpdateViewModel model) { if (!Guid.TryParse(model.Id, out Guid claimId)) { return(NotFound()); } Bet bet = await DataContext.Store.GetByIdAsync <Bet>(claimId); if (bet == null) { return(NotFound()); } bet.CashOutStatus = model.Status; await DataContext.Store.UpdateOneAsync(bet); return(Ok()); }
public StatusUpdateViewModel Post([FromBody] StatusUpdateViewModel model) { if (model == null) { return(null); } var appSettings = AppSettings(); LightSpeedRepository repository = new LightSpeedRepository(appSettings); model.Author = UserContext.CurrentUserFullName; var updatedStatus = repository.CreateStatusUpdate(model); var pageContents = _pageService.GetById(model.PageId); SendUpdate(repository, updatedStatus, model.PageId, model.PageId, pageContents.Title, _projectStatusUpdateEmail); return(updatedStatus); }
public void SendUpdate(LightSpeedRepository repository, StatusUpdateViewModel updatedStatus, int pageId, int projectId, string projectTitle, ProjectStatusUpdateEmail projectStatusUpdateEmail) { var relationList = _pageService.GetRelationsByPageId(pageId).ToList(); var emailModels = new List <EmailProjectStatusUpdateViewModel>(); var environmentPrefix = string.Empty; if (ConfigurationManager.AppSettings.AllKeys.Contains("environment")) { environmentPrefix = ConfigurationManager.AppSettings["environment"]; environmentPrefix = $"[{environmentPrefix}] "; } foreach (var relViewModel in relationList) { var mod = new EmailProjectStatusUpdateViewModel { ProjectName = projectTitle, ProjectId = projectId.ToString(), Subject = $"{environmentPrefix}The status of project [{projectTitle}] has been updated.", Author = updatedStatus.Author, UpdateDate = updatedStatus.UpdateDate.ToString("f"), StatusUpdate = updatedStatus.Text }; var user = repository.GetUserById(relViewModel.userId); if (user != null) { mod.Name = $"{user.Firstname} {user.Lastname}"; mod.ToAddress = user.Email; } emailModels.Add(mod); projectStatusUpdateEmail.Send(mod); } }
public async Task <IActionResult> Post([FromBody] StatusUpdateViewModel model) { try { if (ModelState.IsValid) { var newStatus = _mapper.Map <StatusUpdateViewModel, StatusUpdate>(model); if (newStatus.DatePosted == DateTime.MinValue) { newStatus.DatePosted = DateTime.Now; } var currentUser = await _userManager.FindByNameAsync(User.Identity.Name); newStatus.User = currentUser; _repo.AddEntity(newStatus); if (_repo.SaveAll()) { return(Created($"/app/timeline/{User.Identity.Name}", _mapper.Map <StatusUpdate, StatusUpdateViewModel>(newStatus))); } } else { return(BadRequest(ModelState)); } } catch (Exception ex) { _logger.LogError($"Failed to send status update: {ex}"); } return(BadRequest("Failed to send")); }