Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        public SubCreate CreateInit(bool deposit)
        {
            var companies = _unitOfWork.Companies.GetAllAsNoTracking();
            var output    = new SubCreate
            {
                Companies = new SelectList(companies, "CompanyId", "CompanyName"),
                InOut     = deposit
            };

            return(output);
        }
Ejemplo n.º 4
0
        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)));
        }
Ejemplo n.º 5
0
        // 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));
        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        /// <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);
        }