Exemple #1
0
        /// <summary>
        /// 修改报销单信息(目前只可修改报销理由)
        /// </summary>
        /// <returns>报销单信息</returns>
        public bool UpdateExpenseOrder(int expenseId, UpdateExpenseModel model, UserModel user)
        {
            using (var dbContext = new MissionskyOAEntities())
            {
                //查询申请信息是否存在
                var expenseMain = dbContext.ExpenseMains.FirstOrDefault(it => it.Id == expenseId);
                if (expenseMain == null)
                {
                    throw new Exception("报销单不存在");
                }
                if (!user.Email.EqualsIgnoreCase(Global.FinancialEmail))
                {
                    ExpenseAuditHistoryModel expenseCurrentStaus = GetExpenseCurrentStatus(expenseMain.Id, expenseMain.AuditId);
                    if (expenseMain.AuditId != (int)ExpenseAuditStep.DepartmentAudit || expenseCurrentStaus.Status != OrderStatus.Apply)
                    {
                        Log.Error("已经处于审批流程,不可修改");
                        throw new InvalidOperationException("已经处于审批流程,不可修改");
                    }
                }

                expenseMain.Reason = model.Reason;
                dbContext.SaveChanges();
                return(true);
            }
        }
        public async Task UpdateShouldUpdateFields()
        {
            var user = new Expense {
                Id = _random.Next(), UserId = _currentUser.Id
            };

            _expenseList.Add(user);

            var model = new UpdateExpenseModel
            {
                Comment     = _random.Next().ToString(),
                Description = _random.Next().ToString(),
                Amount      = _random.Next(),
                Date        = DateTime.Now
            };

            var result = await _query.Update(user.Id, model);

            result.Should().Be(user);
            result.Description.Should().Be(model.Description);
            result.Amount.Should().Be(model.Amount);
            result.Comment.Should().Be(model.Comment);
            result.Date.Should().BeCloseTo(model.Date);

            _uow.Verify(x => x.CommitAsync());
        }
        public async Task <ExpenseModel> Put(int id, [FromBody] UpdateExpenseModel requestModel)
        {
            var item = await _query.Update(id, requestModel);

            var model = _mapper.Map <ExpenseModel>(item);

            return(model);
        }
Exemple #4
0
        public async Task <ExpensesModel> Put(int id, [FromBody] UpdateExpenseModel requestModel)
        {
            var item = await _expenseQueryProcessor.Update(id, requestModel);

            var model = _autoMapper.Map <ExpensesModel>(item);

            return(model);
        }
        public async Task <IActionResult> PutAsync([FromBody] UpdateExpenseModel expense)
        {
            _logger.LogInformation($"Updating expense [{expense.Id}]...");

            await _service.UpdateExpenseAsync(
                _mapper.Map <DAL.Entities.Expense>(expense));

            return(NoContent());
        }
Exemple #6
0
        public async Task <IActionResult> UpdateExpenseAsync([FromRoute] int id,
                                                             [FromBody] UpdateExpenseModel updateModel)
        {
            try
            {
                var updateResult = await _expensesService.UpdateExpenseAsync(id, updateModel);

                return(updateResult ? (IActionResult)NoContent() : BadRequest());
            }
            catch (Exception e)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, new ErrorResponseModel(e.Message)));
            }
        }
        public ApiResponse <bool> UpdateExpenseOrder(int id, UpdateExpenseModel model)
        {
            if (id < 0 || model == null)
            {
                throw new ApiBadRequestException("无效的请求");
            }

            ApiResponse <bool> response = new ApiResponse <bool>()
            {
                Result = ExpenseService.UpdateExpenseOrder(id, model, this.Member)
            };

            return(response);
        }
Exemple #8
0
        public async Task <bool> UpdateExpenseAsync(int id, UpdateExpenseModel updateModel)
        {
            var entity = await _context.Expenses.FindAsync(id);

            if (entity == null)
            {
                return(false);
            }

            entity.Comment = updateModel.Comment;
            entity.Count   = updateModel.Count;

            await _context.SaveChangesAsync();

            return(true);
        }
        public async Task <Expense> Update(int id, UpdateExpenseModel model)
        {
            var expense = GetQuery().FirstOrDefault(x => x.Id == id);

            if (expense == null)
            {
                throw new NotFoundException("Expense is not found");
            }

            expense.Amount      = model.Amount;
            expense.Comment     = model.Comment;
            expense.Description = model.Description;
            expense.Date        = model.Date;

            await _uow.CommitAsync();

            return(expense);
        }
Exemple #10
0
        public async Task <Expense> Update(int expenseId, UpdateExpenseModel updateExpenseModel)
        {
            var usrData = GetQuery().Where(x => x.Id == expenseId).FirstOrDefault();

            if (usrData == null)
            {
                throw new NotFoundException("Expense not found");
            }


            usrData.Amount      = updateExpenseModel.Amount;
            usrData.Comment     = updateExpenseModel.Comment;
            usrData.Date        = updateExpenseModel.Date;
            usrData.Description = updateExpenseModel.Description;

            await _uow.CommitAsync();

            return(usrData);
        }
Exemple #11
0
        public async Task UpdateExistingItem()
        {
            var item = await new PostShould(_server).CreateNew();

            var requestItem = new UpdateExpenseModel
            {
                Date        = DateTime.Now,
                Description = _random.Next().ToString(),
                Amount      = _random.Next(),
                Comment     = _random.Next().ToString()
            };

            await _client.PutAsync <ExpenseModel>($"api/Expenses/{item.Id}", requestItem);

            var updatedItem = await GetItemShould.GetById(_client.Client, item.Id);

            updatedItem.Date.Should().Be(requestItem.Date);
            updatedItem.Description.Should().Be(requestItem.Description);

            updatedItem.Amount.Should().Be(requestItem.Amount);
            updatedItem.Comment.Should().Contain(requestItem.Comment);
        }
Exemple #12
0
 public Task UpdateExpenseAsync(UpdateExpenseModel expense)
 {
     return(_clientFactory.CreateClient().PutAsync(expense));
 }