public async Task <IActionResult> Edit(int id, SubCreate sub) { var subscription = await _unitOfWork.Subscriptions.GetAsync(id); if (ModelState.IsValid && sub.Amount != 0) { try { var user = await _unitOfWork.Users.GetCurrentUserAsync(User); var company = await _unitOfWork.Companies.GetAsync(sub.CompanyId); subscription = PostCreate(sub, subscription, user, company); _unitOfWork.Subscriptions.Update(subscription); _unitOfWork.Complete(); } catch (DbUpdateConcurrencyException) { if (!SubscriptionExists(subscription.SubscriptionId)) { return(NotFound()); } else { throw; } } return(ReturnUrl); } return(View(sub)); }
public Subscription PostCreate(SubCreate sub, Subscription subscription, User user, Company company) { DateTime lastDue = sub.StartDate; decimal amount = sub.Amount; decimal target = (decimal)0.00; try { target = sub.Target.Value; } catch { } if ((sub.InOut && sub.Amount < 0) || (!sub.InOut && sub.Amount > 0)) { amount = (-1) * amount; try { target = (-1) * target; } catch { } } subscription.SubscriptionName = sub.SubscriptionName; subscription.Company = company; subscription.CompanyId = company.CompanyId; subscription.Amount = amount; subscription.Target = target; subscription.Transactions = sub.Transactions; subscription.User = user; subscription.UserId = user.Id; subscription.InOut = sub.InOut; subscription.Interval = sub.Interval; subscription.NextDue = sub.StartDate; return(subscription); }
public SubCreate CreateInit(bool deposit) { var companies = _unitOfWork.Companies.GetAllAsNoTracking(); var output = new SubCreate { Companies = new SelectList(companies, "CompanyId", "CompanyName"), InOut = deposit }; return(output); }
public async Task <IActionResult> Create(SubCreate sub) { if (ModelState.IsValid && sub.Amount != 0) { var user = await _unitOfWork.Users.GetCurrentUserAsync(User); var company = await _unitOfWork.Companies.GetAsync(sub.CompanyId); Subscription subscription = new Subscription { }; subscription.Amount = (decimal)10.00; subscription = PostCreate(sub, subscription, user, company); _unitOfWork.Subscriptions.AddAsync(subscription); _unitOfWork.Complete(); return(ReturnUrl); } return(RedirectToAction(nameof(Create))); }
// GET: Subscription/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var sub = await _unitOfWork.Subscriptions.GetAsync(id.Value); var amount = sub.Amount; var target = sub.Target.Value; if (amount < 0) { target = target * (-1); amount = amount * (-1); } string interval = sub.Interval; SubCreate subscription = new SubCreate { Amount = amount, Target = target, SubscriptionName = sub.SubscriptionName, StartDate = sub.NextDue, CompanyId = sub.CompanyId, InOut = sub.InOut, Interval = interval }; ViewData["id"] = id; if (subscription == null) { return(NotFound()); } return(View(subscription)); }
/// <summary> /// Creates a footprint. /// </summary> /// <param name="boundsMin">The bottom left corner of the footprint on the grid map.</param> /// <param name="boundsMax">The top right corner of the footprint on the grid map.</param> /// <param name="mapElement">The main map element that the footprint belongs to.</param> /// <param name="subCreate">The delegate method used to create footprint sub elements.</param> /// <returns>A footprint.</returns> public static IFootprint <T> Create(Vector2Int boundsMin, Vector2Int boundsMax, T mapElement, SubCreate subCreate) { Footprint <T> footprint = new Footprint <T> { mapElement = mapElement, subCreate = subCreate }; footprint.Init(boundsMin, boundsMax); return(footprint); }
/// <summary> /// Creates a footprint. /// </summary> /// <param name="spriteRenderer">The sprite renderer used to determine the footprint bounds.</param> /// <param name="mapElement">The main map element that the footprint belongs to.</param> /// <param name="subCreate">The delegate method used to create footprint sub elements.</param> /// <returns>A footprint.</returns> public static IFootprint <T> Create(SpriteRenderer spriteRenderer, T mapElement, SubCreate subCreate) { Footprint <T> footprint = new Footprint <T> { mapElement = mapElement, subCreate = subCreate }; footprint.Init(spriteRenderer); return(footprint); }