public Task createOrUpdateAsync(DailyEnergy dailyEnergy) { if (dailyEnergy.id != null) { return(updateAsync(dailyEnergy.id, dailyEnergy.validate())); } return(createAsync(dailyEnergy.validate())); }
public async Task <DailyEnergy> CreateOrAddAsync(DailyEnergy dailyEnergy) { try { var oldDEnergy = await _DailyEnergy.Find(o => o.Date == dailyEnergy.Date && o.UserId == dailyEnergy.UserId).SingleOrDefaultAsync(); if (null == oldDEnergy) {//Create await _DailyEnergy.InsertOneAsync(mergeDailyEnergy(dailyEnergy, new DailyEnergy().init()).validate()); } else {//Update //TODO use mapper for adding dailyEnergy.Id = oldDEnergy.Id; dailyEnergy = mergeDailyEnergy(dailyEnergy, oldDEnergy); await UpdateAsync(dailyEnergy.validate()); } return(dailyEnergy); } catch (Exception e) { _logger.LogError("Error cached in DailyEnergyServices CreateOrUpdateAsync {error}", e); return(null); } }
public Task createAsync(DailyEnergy DailyEnergy) { return(_DailyEnergies.InsertOneAsync(DailyEnergy.validate())); }