Example #1
0
        public async Task <IActionResult> FillInfo([Bind(PKey.PCPram)] PartyCost partyCost)
        {
            var currentRole = HttpContext.User.Claims.First(x => x.Type == ClaimTypes.Role).Value;

            if (ModelState.IsValid)
            {
                try
                {
                    partyCost.CostBase = partyCost.Base();
                    partyCost.Payable  = partyCost.Pay();
                    context.Update(partyCost);
                    await context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PartyCostExists(partyCost.Guid))
                    {
                        return(NotFound());
                    }
                    throw;
                }

                if (string.Equals(currentRole, UserRole.Admin.ToString(),
                                  StringComparison.CurrentCultureIgnoreCase))
                {
                    return(RedirectToAction(nameof(Index)));
                }
                return(View(partyCost));
            }

            return(View(partyCost));
        }
Example #2
0
        public async Task <IActionResult> Edit(Guid id, [Bind(PKey.PCPram)] PartyCost partyCost)
        {
            if (id != partyCost.Guid)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    partyCost.CostBase   = partyCost.Base();
                    partyCost.Payable    = partyCost.Pay();
                    partyCost.UpdateTime = DateTime.Now;
                    context.Update(partyCost);
                    await context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PartyCostExists(partyCost.Guid))
                    {
                        return(NotFound());
                    }
                    throw;
                }

                return(RedirectToAction(nameof(Index)));
            }
            return(View(partyCost));
        }
Example #3
0
        public async Task <IActionResult> Register([Bind("Guid,UserName,Password,Role,Email,CreateTime,UpdateTime")]
                                                   Account account)
        {
            ViewData[VKey.ACCOUNTEXIST] = null;
            if (ModelState.IsValid)
            {
                if (AccountExisted(account))
                {
                    ViewData[VKey.ACCOUNTEXIST] = CKey.ACCOUNTEXIST;
                    return(View(account));
                }

                account.Guid       = Guid.NewGuid();
                account.CreateTime = DateTime.Now;
                account.UpdateTime = DateTime.Now;
                account.Role       = UserRole.Ordinary;
                context.Add(account);
                await context.SaveChangesAsync();

                var partyMember =
                    new PartyMember(new SeriaNumber().Seria(pMContext.PartyMembers.Count() + 1, Key.PMPre))
                {
                    Guid       = Guid.NewGuid(),
                    CreateTime = DateTime.Now,
                    UpdateTime = DateTime.Now
                };
                pMContext.Add(partyMember);
                await pMContext.SaveChangesAsync();

                var accountPartyMember =
                    new AccountPartyMember(account.UserName, partyMember.PartyMemberID)
                {
                    Guid       = Guid.NewGuid(),
                    CreateTime = DateTime.Now,
                    UpdateTime = DateTime.Now
                };
                aPMContext.Add(accountPartyMember);
                await aPMContext.SaveChangesAsync();

                var partyCost =
                    new PartyCost(new SeriaNumber().Seria(pCContext.PartyCosts.Count() + 1, Key.PCPre),
                                  partyMember.PartyMemberID)
                {
                    Guid       = Guid.NewGuid(),
                    CreateTime = DateTime.Now,
                    UpdateTime = DateTime.Now,
                    State      = Verify.Unaudited
                };
                pCContext.Add(partyCost);
                await pCContext.SaveChangesAsync();

                return(RedirectToAction(nameof(Login)));
            }

            return(View(account));
        }