public Task createOrUpdateAsync(DailyEnergy dailyEnergy)
 {
     if (dailyEnergy.id != null)
     {
         return(updateAsync(dailyEnergy.id, dailyEnergy.validate()));
     }
     return(createAsync(dailyEnergy.validate()));
 }
Exemple #2
0
        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()));
 }