Ejemplo n.º 1
0
        public void AddExpenceRange(string title, decimal amount, DateTime dateFirstIncome, DateTime dateLastIncome)
        {
            // add first income
            Expences.Add(new Expence
            {
                Amount = amount,
                Date   = dateFirstIncome,
                Title  = title
            });

            // add last income
            Expences.Add(new Expence
            {
                Amount = amount,
                Date   = dateLastIncome,
                Title  = title
            });

            // add income inbetween
            var startDate = dateFirstIncome.AddMonths(1);

            while (startDate < dateLastIncome)
            {
                Expences.Add(new Expence
                {
                    Amount = amount,
                    Date   = startDate,
                    Title  = title
                });
                startDate = startDate.AddMonths(1);
            }
        }
Ejemplo n.º 2
0
 public void verifydata()
 {
     if (Expences.Text == "")
     {
         MessageBox.Show("Please Select Expences");
         Expences.Focus();
     }
 }
Ejemplo n.º 3
0
        public ExpencesControllerTests()
        {
            var mockingEntities = new EntitiesMock();

            mock               = mockingEntities.Mock;
            validController    = mockingEntities.ValidController;
            notValidController = mockingEntities.NotValidController;
            entity             = mockingEntities.singleEntity;
        }
Ejemplo n.º 4
0
        public decimal GetTotalExpenceAmount(int year)
        {
            decimal sum = 0;

            foreach (var ex in Expences.Where(x => x.Date.Year == year))
            {
                sum += ex.Amount;
            }

            return(sum);
        }
        public ExpenceWindow(Expences expence)
        {
            InitializeComponent();

            _expence = expence;

            btnConfirm.Visibility = Visibility.Hidden;
            btnDeny.Visibility    = Visibility.Hidden;
            SetIsEnabledFalse();
            SetExpenceFields();
        }
Ejemplo n.º 6
0
        public bool InsertExpence(Expences expences)
        {
            SqlCommand cmd = GetCommand("spInsertExpence");

            cmd.Parameters.AddWithValue("@ExpenceDetails", expences.ExpenceDetail);
            cmd.Parameters.AddWithValue("@ExpenceCost", expences.ExpenceCost);
            cmd.Parameters.AddWithValue("@ExpenceDate", expences.ExpenceDate);
            int rowAffected = cmd.ExecuteNonQuery();

            con.Close();
            return(rowAffected > 0 ? true : false);
        }
        private Expences GetExpenceFromData()
        {
            var result = new Expences();

            string name;

            //50 is max length
            if (boxName.Text == "" || boxName.Text.Length > 50)
            {
                throw new Exception();
            }
            else
            {
                name = boxName.Text;
            }

            string comment;

            if (boxComment.Text == "" || boxComment.Text.Length > 50)
            {
                throw new Exception();
            }
            else
            {
                comment = boxComment.Text;
            }

            int moneyValue;

            if (!Int32.TryParse(boxMoney.Text, out moneyValue))
            {
                throw new Exception();
            }

            int idType = Queries.GetExpenceTypeId(comboType.Text);

            DateTime date = DatePicker.SelectedDate.Value.Date;

            result.Name          = name;
            result.BillDate      = date;
            result.Comment       = comment;
            result.MonthAmount   = moneyValue;
            result.IdExpenceType = idType;
            result.IdUser        = UserInfo.UserId;
            result.IdExpence     = (_expence != null) ? _expence.IdExpence : 0;

            return(result);
        }
        private async Task <bool> IsAdminOrOwner(Expences entity, bool ownerCheck)
        {
            var currentUser = await _userManager.GetUserAsync(User);

            var personRoles = _userManager.GetRolesAsync(currentUser);

            if (personRoles.Result.Intersect(Constants.rolesExpences_Admin.Split(',').Select(x => x.Trim())).Count() != 0)
            {
                return(true);
            }
            if (ownerCheck && entity != null)
            {
                return(entity.User == currentUser);
            }
            return(false);
        }
 public async Task <IActionResult> Edit(long id, [Bind("Id,DocumentNumber,DocumentDate,DocumentTypeId,PersonId,UserId,OurCompanyId,CompanyId,DesiredPaymentDate,AmountOfPayment,CurrencyId,PurposeOfPayment")] Expences expences)
 {
     if (id != expences.Id)
     {
         return(NotFound());
     }
     if (ModelState.IsValid)
     {
         if (!await _expencesService.UpdateAsync(expences))
         {
             return(NotFound());
         }
         return(RedirectToAction(nameof(Index)));
     }
     SetViewData();
     return(View(expences));
 }
Ejemplo n.º 10
0
        public decimal GetBalanceForDate(DateTime date)
        {
            var lastBalanceBeforeDate = Balances.Where(x => x.Date <= date).OrderByDescending(x => x.Date).FirstOrDefault();

            if (lastBalanceBeforeDate != null)
            {
                var sumExpences = Expences.Where(x => x.Date > lastBalanceBeforeDate.Date && x.Date <= date).Sum(x => x.Amount);
                var sumIncome   = Income.Where(x => x.Date > lastBalanceBeforeDate.Date && x.Date <= date).Sum(x => x.Amount);
                var sum         = sumIncome - sumExpences;
                return(lastBalanceBeforeDate.Amount + sum);
            }
            else
            {
                var sumExpences = Expences.Where(x => x.Date <= date).Sum(x => x.Amount);
                var sumIncome   = Income.Where(x => x.Date <= date).Sum(x => x.Amount);
                return(sumIncome - sumExpences);
            }
        }
        public async Task <IActionResult> Create([Bind("Id,DocumentNumber,DocumentDate,DocumentTypeId,PersonId,UserId,OurCompanyId,CompanyId,DesiredPaymentDate,ApprovedPaymentDate,AmountOfPayment,CurrencyId,Approved,Declined,PurposeOfPayment")] Expences expences)
        {
            if (ModelState.IsValid)
            {
                #region можно взять юзера из куков. но не буду (предпочту лишний раз обратиться в базу, возможно зря). А делается это так
                // Получаем user ID не делая дополнительную вылазку в базу

                /*
                 * var claimsIdentity = (ClaimsIdentity)this.User.Identity;
                 * var claim = claimsIdentity.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier);
                 * var userId = claim.Value;
                 *
                 * // Но можно выкинуть этот код в отдельный класс
                 *
                 * public static class UserHelpers
                 * {
                 *  public static string GetUserId(this IPrincipal principal)
                 *  {
                 *      var claimsIdentity = (ClaimsIdentity)principal.Identity;
                 *      var claim = claimsIdentity.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier);
                 *      return claim?.Value;
                 *  }
                 * }
                 *
                 * // И обращаться так: var userId = this.User.GetUserId();
                 * /**/
                #endregion

                expences.UserId = _userManager.GetUserId(User);
                await _expencesService.AddAsync(expences);

                return(RedirectToAction(nameof(Index)));
            }
            SetViewData();
            return(View(expences));
        }
Ejemplo n.º 12
0
 public void AddExpence(IExpence expence)
 {
     Expences.Add(expence);
 }
Ejemplo n.º 13
0
 public bool InsertExpence(Expences expences)
 {
     return(repository.InsertExpence(expences));
 }