private void SaveTransactions(IEnumerable <Transaction> dbTransactions, IEnumerable <TransactionModel> transactionModels) { var diff = transactionModels .Where(x => !dbTransactions.Any(z => x.Id.Equals(z.Id))) .Select(x => new Transaction { Id = x.Id, AccountId = x.AccountId, CategoryId = x.CategoryId, Name = x.Name, Price = x.Price, Date = x.Date, LastApiCall = DateTime.Now, ChangeStamp = DateTime.Now, NeedsUpdate = false, TransactionType = x.TransactionType.Equals(TransactionTypeModel.Expense) ? TransactionType.Expense : TransactionType.Income }) .ToList(); if (!diff.Any()) { return; } foreach (var transaction in diff) { transactionRepository.Add(transaction); } transactionRepository.Commit(); }
public void EntrarNaEstacao(CartaoViagem cartaoViagem, DateTime data, Zona zona) { if (cartaoViagem.Tarifa.Zona == Zona.A && zona == Zona.B) { throw new Exception("zona_cartao_invalida"); } else if (cartaoViagem.Status == StatusCartaoViagem.Consumido) { throw new Exception("cartao_invalido"); } else { cartaoViagem.DataVigente = (cartaoViagem.Status == StatusCartaoViagem.Pendente) ? data : cartaoViagem.DataVigente; var viagem = new Viagem() { DataEntrada = data, Zona = zona }; _viagemRepository.Create(viagem); _viagemRepository.Commit(); cartaoViagem.Viagens.Add(viagem); if (cartaoViagem.Status == StatusCartaoViagem.Pendente) { var contaBancaria = _contaBancariaRepository.Read().Where(c => c.Proprietario == cartaoViagem.Proprietario).FirstOrDefault(); CobrarDaContaBancaria(contaBancaria, cartaoViagem.Tarifa.Valor); cartaoViagem.Status = StatusCartaoViagem.Pago; } _cartaoViagemRepository.Update(cartaoViagem); _cartaoViagemRepository.Commit(); } }
private void RemoveTransaction(Transaction transaction) { Task.Run(() => { transactionRepository.Remove(transaction); transactionRepository.Commit(); accountsRepository.RemoveAll(); repository.Commit(); }); }
private void SaveCloudSyncSetting() { if (initializing) { return; } if (!offlineModeEnabled) { ClearLocalCache(); } else { RunSincronization(); } if (offlineModeSetting == null) { offlineModeSetting = AppSettings.GetOfflineModeSetting(); offlineModeSetting.Enabled = offlineModeEnabled; appSettingsRepository.Add(offlineModeSetting); } else { appSettingsRepository.Update(offlineModeSetting); } appSettingsRepository.Commit(); }
private void AdcionarProprietarioComUmCartaoTaxaUnicaZonaA(out CartaoViagem cartaoViagem, out ContaBancaria contaBancaria) { var proprietario = new Proprietario("Igor Silva"); _proprietarioRepository.Create(proprietario); _proprietarioRepository.Commit(); var tarifa = _tarifaRepository.Read().Where(t => t.Jornada == Jornada.Unica && t.Zona == Zona.A).First(); cartaoViagem = new CartaoViagem(proprietario, tarifa); _cartaoViagemRepository.Create(cartaoViagem); _cartaoViagemRepository.Commit(); contaBancaria = new ContaBancaria("111111111111111", proprietario); _contaBancariaRepository.Create(contaBancaria); _contaBancariaRepository.Commit(); }
private void ClearLocalCache(object obj = null) { Task.Run(() => { HandleSafeExecution(() => { accountRepository.RemoveAll(); accountRepository.Commit(); transactionRepository.RemoveAll(); transactionRepository.Commit(); Preferences.Set("FullSync", true); }); }); }
public void ExecuteTemplate(IEntity entity) { try { repository.OpenConnection(); repository.BeginTransaction(); ExecuteOperation(entity); repository.Commit(); } catch (Exception ex) { Console.WriteLine(ex.Message); repository.Rollback(); throw; } finally { repository.CloseConnection(); } }
public HttpResponseMessage Post([FromBody] AnimalModel model) { _animalRepo = new GenericRepository <AnimalModel>(new FarmDbContext()); _medicalRepo = new GenericRepository <MedicalRecord>(new FarmDbContext()); AnimalModel animalModel = new AnimalModel(); if (model != null) { animalModel = model; foreach (var mrecord in model.MedicalRecords) { animalModel.MedicalRecords.Add(mrecord); } _animalRepo.Add(animalModel); _animalRepo.Commit(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, model)); } }
private void CobrarDaContaBancaria(ContaBancaria contaBancaria, decimal valor) { contaBancaria.AtualizarSaldoDevedor(valor); _contaBancariaRepository.Update(contaBancaria); _contaBancariaRepository.Commit(); }