public ActionResult Update(ExpenditureFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(HttpNotFound());
            }

            var expenditure = _expenditureService.GetById(viewModel.ExpenditureId);

            if (expenditure == null)
            {
                return(HttpNotFound());
            }
            ExpenditureDto expToUpdate = new ExpenditureDto()
            {
                CategoryId = viewModel.CategoryId,
                Number     = viewModel.Number,
                Name       = viewModel.Name
            };

            expenditure.Update(expToUpdate);

            _expenditureService.Update(expenditure);
            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        protected async Task <IOrderedEnumerable <ExpenditureDto> > GetExpenditureTrends(string dateFormat, DateTime beginTime, DateTime endTime)
        {
            var expenditures         = new List <ExpenditureDto>();
            var orderAggregateFluent = GetOrderAggregateFluent("updateTimeList.status35", beginTime.ToLocalTime().Date, endTime.ToLocalTime().ToDayEnd());
            var orderGroup           = new BsonDocument
            {
                { "_id", new BsonDocument("$dateToString", new BsonDocument {
                        { "format", dateFormat }, { "date", "$updateTimeList.status35" }, { "timezone", "+08:00" }
                    }) },
                { "UserCount", new BsonDocument("$addToSet", "$passengerId") },
                { "OrderCount", new BsonDocument("$sum", 1) },
                { "PayAmount", new BsonDocument("$sum", "$payAmount") },
                { "CashPayAmount", new BsonDocument("$sum", "$amountPayment") }
            };
            var orderBson = await orderAggregateFluent.Group(orderGroup).ToListAsync();

            orderBson.ForEach(x =>
            {
                var expenditure           = new ExpenditureDto();
                expenditure.Key           = x.GetValue("_id").ToString();
                expenditure.UserCount     = x.GetValue("UserCount").AsBsonArray.LongCount();
                expenditure.OrderCount    = x.GetValue("OrderCount").ToInt64();
                expenditure.PayAmount     = x.GetValue("PayAmount").ToDecimal();
                expenditure.CashPayAmount = x.GetValue("CashPayAmount").ToDecimal();
                expenditures.Add(expenditure);
            });
            return(expenditures.OrderBy(x => x.Key));
        }
        public void Remove(ExpenditureDto expenditureDto)
        {
            var expenditure = _repoExpenditure.Get(expenditureDto.ExpenditureId);

            if (expenditure != null)
            {
                _repoExpenditure.Delete(expenditure);
                _unitOfWork.Save();
            }
        }
        public void Update(ExpenditureDto expenditureDto)
        {
            var expenditure = _repoExpenditure.Get(expenditureDto.ExpenditureId);

            expenditure.CategoryId = expenditureDto.CategoryId;
            expenditure.Number     = expenditureDto.Number;
            expenditure.Name       = expenditureDto.Name;
            if (expenditure != null)
            {
                //Mapper.Map(expenditureDto, expenditure);
                _repoExpenditure.Edit(expenditure);
                _unitOfWork.Save();
            }
        }
        public ActionResult Create(ExpenditureFormViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("ExpenditureForm", viewModel));
            }

            var expenditure = new ExpenditureDto()
            {
                Number     = viewModel.Number,
                Name       = viewModel.Name,
                CategoryId = viewModel.CategoryId
            };

            _expenditureService.Add(expenditure);
            return(RedirectToAction("Index"));
        }
 public void Add(ExpenditureDto expenditureDto)
 {
     _repoExpenditure.Add(Mapper.Map <Expenditure>(expenditureDto));
     _unitOfWork.Save();
 }