public async Task <Action> Put(string sessionId, string id, [FromBody] Action action)
 {
     if (action.Id == "0")
     {
         throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest));
     }
     return(await _repository.UpdateAction(sessionId, action));
 }
 public static ActionModel ToModel(this Action model)
 {
     return(new ActionModel
     {
         Id = GetOrCreateId(model.Id),
         SessionId = model.SessionId,
         Description = model.Description,
         Date = model.Date,
         Payers = model.Payers.Select(ToModel),
         Consumptions = model.Consumptions.Select(ToModel)
     });
 }
示例#3
0
        public async Task <Action> UpdateAction(string sessionId, Action model)
        {
            var         db = GetDatabase();
            ActionModel action;

            if (model.Id.IsNullOrEmpty() || model.Id == "0")
            {
                var actionsCollection = GetActions(db);
                await CreateIndex(actionsCollection, nameof(ActionModel.SessionId));

                action = model.ToModel();
                await actionsCollection.InsertOneAsync(action);
            }
            else
            {
                action = await GetActions(db)
                         .FindOneAndReplaceAsync(new ExpressionFilterDefinition <ActionModel>(s => s.Id == model.Id),
                                                 model.ToModel());
            }
            await LogUpdateTime(db, "Action");

            return(action.FromModel());
        }
示例#4
0
 public async Task <Action> UpdateAction(string sessionId, Action model) => await _repository.UpdateAction(sessionId, model);