public async Task <ActionResult> CreateAsync()
        {
            ViewData["BillTypes"] = new BillTypeViewModel(await BusinessHelper.BillTypeHelper.SelectAsync(b => true, b => b.TypeName, true));
            var user = await BusinessHelper.UserHelper.SelectAsync(s => s.IsActive, u => u.PKID, true);

            ViewData["Users"] = user.Select(u => u.Username);
            return(View());
        }
        public IActionResult Update([FromBody] CrudViewModel <BillTypeViewModel> payload)
        {
            BillTypeViewModel value = payload.value;
            var result = _functionalService
                         .Update <BillTypeViewModel, BillType>(value, Convert.ToInt32(value.BillTypeId));

            return(Ok());
        }
        public async Task <ActionResult> CreateAsync([Bind("BillTitle,BillDescription,BillDetails,BillType,BillFee")] Bill bill)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var items = ConvertHelper.JsonToObject <List <BillPayItemViewModel> >(bill.BillDetails);
                    if (items.Sum(t => t.PayMoney) != bill.BillFee)
                    {
                        ModelState.AddModelError("BillFee", "每个人实付金额与总金额不符,请检查");
                        ViewData["BillTypes"] = new BillTypeViewModel(await BusinessHelper.BillTypeHelper.SelectAsync(b => true, b => b.TypeName, true));
                        var user = await BusinessHelper.UserHelper.SelectAsync(s => s.IsActive, u => u.PKID, true);

                        ViewData["Users"]    = user.Select(u => u.Username);
                        ViewData["ErrorMsg"] = "每个人实付金额与总金额不符,请检查";
                        return(View());
                    }
                    bill.CreatedBy = User.Identity.Name;
                    var res = await BusinessHelper.BillHelper.AddAsync(bill);

                    if (res != null)
                    {
                        var billItems = items.Select(t => new BillPayItem {
                            BillId = res.PKID, CreatedBy = User.Identity.Name, PayMoney = t.PayMoney, PersonName = t.PersonName
                        }).Where(b => b.PayMoney > 0).ToList();
                        //保存到数据库
                        await BusinessHelper.BillPayItemHelper.AddAsync(billItems);
                    }
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewData["BillTypes"] = new BillTypeViewModel(await BusinessHelper.BillTypeHelper.SelectAsync(b => true, b => b.TypeName, true));
                    var user = await BusinessHelper.UserHelper.SelectAsync(s => s.IsActive, u => u.PKID, true);

                    ViewData["Users"]    = user.Select(u => u.Username);
                    ViewData["ErrorMsg"] = "请求参数不合法";
                    return(View());
                }
            }
            catch (Exception)
            {
                ViewData["BillTypes"] = new BillTypeViewModel(await BusinessHelper.BillTypeHelper.SelectAsync(b => true, b => b.TypeName, true));
                var user = await BusinessHelper.UserHelper.SelectAsync(s => s.IsActive, u => u.PKID, true);

                ViewData["Users"] = user.Select(u => u.Username);
                return(View());
            }
        }
        public async Task <ActionResult> EditAsync([Bind("BillTitle,BillDescription,BillType,PKID")] Bill bill)
        {
            try
            {
                bill.UpdatedBy = User.Identity.Name;
                await BusinessHelper.BillHelper.UpdateAsync(bill, "BillTitle", "BillType", "BillDescription", "UpdatedBy", "UpdatedTime");

                return(RedirectToAction("Index"));
            }
            catch
            {
                ViewData["BillTypes"] = new BillTypeViewModel(await BusinessHelper.BillTypeHelper.SelectAsync(b => true, b => b.TypeName, true), bill.PKID);
                return(View());
            }
        }
 public async Task <ActionResult> EditAsync(int id)
 {
     ViewData["BillTypes"] = new BillTypeViewModel(await BusinessHelper.BillTypeHelper.SelectAsync(b => true, b => b.TypeName, true), id);
     return(View(await BusinessHelper.BillHelper.FetchAsync(id)));
 }
Beispiel #6
0
 public BillsHomePage()
 {
     InitializeComponent();
     BindingContext = new BillTypeViewModel(Navigation);
 }