Exemplo n.º 1
0
        public async Task <ApiResult <bool> > CreateRegister(RequestRegisterCreate request)
        {
            if ((request.type != "chiphi" && request.type != "thunhap") || request.Money <= 0)
            {
                return(new ApiErrorResult <bool>("Đăng ký không thành công"));
            }
            var user = await _userManager.FindByIdAsync((request.IdUser).ToString());

            if (user == null)
            {
                return(new ApiErrorResult <bool>("Không tồn tại người dùng này "));
            }

            if (request.type == "chiphi")
            {
                var service = await _context.Spends.FindAsync(request.IdService);

                if (service == null)
                {
                    return(new ApiErrorResult <bool>("Không tồn tại dịch vụ này dùng này "));
                }
                var registerSpend = new RegisterSpend()
                {
                    IdUser      = request.IdUser,
                    IdSpend     = request.IdService,
                    Money       = request.Money,
                    Description = request.Description,
                    DateCreate  = DateTime.UtcNow.AddHours(7)
                };
                user.AccountBalance -= request.Money;
                _context.RegisterSpends.Add(registerSpend);
            }
            if (request.type == "thunhap")
            {
                var service = await _context.MakeMoneys.FindAsync(request.IdService);

                if (service == null)
                {
                    return(new ApiErrorResult <bool>("Không tồn tại dịch vụ này dùng này "));
                }
                var registerMakeMoney = new RegisterMakeMoney()
                {
                    IdUser      = request.IdUser,
                    IdMakeMoney = request.IdService,
                    Money       = request.Money,
                    Description = request.Description,
                    DateCreate  = DateTime.UtcNow.AddHours(7)
                };
                user.AccountBalance += request.Money;
                _context.RegisterMakeMoneys.Add(registerMakeMoney);
            }
            await _context.SaveChangesAsync();

            return(new ApiSuccessResult <bool>());
        }
        public async Task <IActionResult> CreateRegisters([FromBody] RequestRegisterCreate request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await _serviceRegister.CreateRegister(request);

            if (!result.IsSuccessed)
            {
                return(BadRequest(result.Message));
            }
            return(Ok(result));
        }