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) }); }
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()); }
public async Task <Action> UpdateAction(string sessionId, Action model) => await _repository.UpdateAction(sessionId, model);