public ActionResult AddAccount(ContModel cont) { if (ModelState.IsValid) { var newAccount = new ContDTO() { Id = Guid.NewGuid(), AccountNumber = cont.AccountNumber, Currency = cont.Currency, MoneyDeposited = cont.MoneyDeposited, User = Session["Username"].ToString() }; _writeRepo.adaugaCont(newAccount, Session["Username"].ToString()); var userAccounts = _readRepo.CitesteConturi(Session["Username"].ToString()); ModelState.Clear(); if (userAccounts != null) { List <ContModel> contModelList = new List <ContModel>(); foreach (ContDTO UserCont in userAccounts) { contModelList.Add(GenereazaContModelView(UserCont)); } return(View("ShowAccounts", contModelList)); } } return(View()); }
public static String Proceseaza(double sum, ContDTO source) { AG_ROOT_Cont sursa = new AG_ROOT_Cont(new Modele.Generic.IBAN(source.iban), new Client(new PlainText(source.client), new PlainText("nu conteaza")), new Suma(source.Sold)); AG_ROOT_Cont result = sursa.DepuneBani(new Suma(sum)); //Pregateste rezultatul tranzactiei ca raspuns inapoi catre MVC //obtine tranzactia sursei TranzactieDTO tranzDTO = new TranzactieDTO(); tranzDTO.partenerTranzactie = result.IstoricTranzactii.getTranzactii.First().PartenerTranzactie.getIBAN; tranzDTO.suma = result.IstoricTranzactii.getTranzactii.First().Suma.getSuma; tranzDTO.data = DateTime.Today.ToString(); if (result.IstoricTranzactii.getTranzactii.First().Tip.Equals(TipTranzactie.Depunere)) { tranzDTO.tipTranz = "depunere"; } //obtine datele contului modificat ContDTO updatedAccount = new ContDTO(); updatedAccount.client = result.DateClient.Nume.Text; updatedAccount.iban = result.IBAN.getIBAN; updatedAccount.Sold = result.Sold.getSuma; return(new SerializedResultDTO(updatedAccount, tranzDTO).Serialize()); }
public void ActualizareContInLista(ContDTO cont, double soldNou) { var lista = IncarcaListaDeConturi(cont.iban); var contInLista = lista.Where(m => m.iban == cont.iban).First(); contInLista.Sold = soldNou; SalvareListaConturi(lista); }
private static DateCont GenereazaModelView(ContDTO c) { return(new DateCont() { iban = c.iban, client = c.client, Sold = c.Sold }); }
public ActionResult Transfera(Model_Index model) { if (!String.IsNullOrEmpty(model.IBANdest) && model.SumaTransf != 0) { //toate datele au fost completate ContDTO cont = _readRepo.CautaCont(model.IBAN); if (cont != null) { //iban-ul userului e corect ContDTO contDest = _readRepo.CautaCont(model.IBANdest); if (contDest != null) { //iban-ul destinatie e corect double sum = Convert.ToDouble(model.SumaTransf.ToString()); TranzactieDTO tranzDTO = new TranzactieDTO() { data = DateTime.Now.ToString(), partenerTranzactie = model.IBANdest, suma = sum, tipTranz = "transfer" }; //Tranzactie t = _writeRepo.AdaugaTranzactie(tranzDTO, model.IBAN); bool res = EfectueazaTranzactie(model.SumaTransf, cont, contDest); if (res == true) { return(View("Confirmare", GenereazaModelView(tranzDTO))); } else { return(View("Esec", GenereazaModelView("Tranzactia nu se poate efectua"))); } } else { //iban-ul destinatie nu exista return(View("Esec", GenereazaModelView("IBAN-ul destinatie nu exista"))); } } else { //iban-ul userului nu exista return(View("Esec", GenereazaModelView("IBAN-ul dumneavoastra nu exista"))); } } else { if (model.SumaTransf == 0) { return(View("Esec", GenereazaModelView("Nu ati introdus suma"))); } else { return(View("Esec", GenereazaModelView("Nu ati introdus IBAN-ul destinatarului"))); } } }
private void SalvareContInLista(ContDTO cont, string username) { List <Client> allClients = new List <Client>(); allClients = IncarcaListaDeClienti(); var thisClient = allClients.Find(x => x.Username == username); thisClient.adaugaCont(cont); SalvareClientInListaClienti(allClients); }
private static ContModel GenereazaContModelView(ContDTO cont) { return(new ContModel() { Id = cont.Id, AccountNumber = cont.AccountNumber, Currency = cont.Currency, MoneyDeposited = cont.MoneyDeposited, User = cont.User, myAction = cont.ActionList }); }
private void adaugaCont(ContDTO cont) { if (cont != null) { Id = cont.Id; AccountNumber = cont.AccountNumber; Currency = cont.Currency; MoneyDeposited = cont.MoneyDeposited; User = cont.User; ActionList = new List <Action>(); } }
//depunere public bool EfectueazaTranzactie(double sum, ContDTO source) { //compune o comanda si serializeaz-o String serializedCommand = new SerializedCommandDTO(sum, source).Serialize(); //trimite comanda pe coada de comenzi. Procesatorul de comenzi va pune un rezultatt pe coada de rezultate CmdSender.Send(serializedCommand); //cere rezultatul SerializedResultDTO res = ResultReceiver.Receive(); //astepta raspunsul de pe coada de raspunsuri //modifica fisierele conform rezultatului comenzii _writeRepo.AdaugaTranzactie(res.tranzactii[0], res.conturi[0].iban); _writeRepo.ActualizareContInLista(source, res.conturi[0].Sold); return(true); }
public static String Proceseaza(double sum, ContDTO source, ContDTO destination) { AG_ROOT_Cont sursa = new AG_ROOT_Cont(new Modele.Generic.IBAN(source.iban), new Client(new PlainText(source.client), new PlainText("nu conteaza")), new Suma(source.Sold)); AG_ROOT_Cont dest = new AG_ROOT_Cont(new Modele.Generic.IBAN(destination.iban), new Client(new PlainText(destination.client), new PlainText("nu conteaza")), new Suma(destination.Sold)); AG_ROOT_Cont vehicle = new AG_ROOT_Cont(); //cere modelului sa efectueze tranzactia List <AG_ROOT_Cont> result = vehicle.TransferBaniIntreDouaConturi(new Suma(sum), sursa, dest); //Pregateste rezultatul tranzactiei ca raspuns inapoi catre MVC //obtine tranzactia efectuata de sursa TranzactieDTO tranzDTOScr = new TranzactieDTO(); tranzDTOScr.partenerTranzactie = result.First().IstoricTranzactii.getTranzactii.First().PartenerTranzactie.getIBAN; tranzDTOScr.suma = result.First().IstoricTranzactii.getTranzactii.First().Suma.getSuma; tranzDTOScr.data = DateTime.Today.ToString(); if (result.First().IstoricTranzactii.getTranzactii.First().Tip.Equals(TipTranzactie.Transfer)) { tranzDTOScr.tipTranz = "transfer"; } //obtine tranzactia efectuata la destinatar TranzactieDTO tranzDTODest = new TranzactieDTO(); tranzDTODest.partenerTranzactie = result[1].IstoricTranzactii.getTranzactii.First().PartenerTranzactie.getIBAN; tranzDTODest.suma = result[1].IstoricTranzactii.getTranzactii.First().Suma.getSuma; tranzDTODest.data = DateTime.Today.ToString(); if (result[1].IstoricTranzactii.getTranzactii.First().Tip == TipTranzactie.Transfer) { tranzDTODest.tipTranz = "transfer"; } //obtine datele conturilor modifcate ContDTO updatedAccountSrc = new ContDTO(); updatedAccountSrc.client = result[0].DateClient.Nume.Text; updatedAccountSrc.iban = result[0].IBAN.getIBAN; updatedAccountSrc.Sold = result[0].Sold.getSuma; ContDTO updatedAccountDest = new ContDTO(); updatedAccountDest.client = result[1].DateClient.Nume.Text; updatedAccountDest.iban = result[1].IBAN.getIBAN; updatedAccountDest.Sold = result[1].Sold.getSuma; return(new SerializedResultDTO(updatedAccountSrc, updatedAccountDest, tranzDTOScr, tranzDTODest).Serialize()); }
public IEnumerable <ContDTO> ObtineConturi() { List <ContDTO> toateConturile = new List <ContDTO>(); if (ExistaFisier("account.json")) { //toateConturile = JsonConvert.DeserializeObject<List<ContDTO>>(CitesteContinutFisier("account.json")); toateConturile = JsonConvert.DeserializeObject <List <ContDTO> >(CitesteContinutFisier("account.json")); } else { ContDTO c = new ContDTO(); toateConturile.Add(c); //adaugat !! } return(toateConturile.AsEnumerable()); }
public ContDTO GasesteCont(string iban) { var cont = IncarcaListaDeConturi(iban) .Where(e => e.iban == iban); if (cont == null) { List <ContDTO> conturi = new List <ContDTO>(); ContDTO c = new ContDTO(); conturi.Add(c); var ret = conturi.First(); return(ret); } else { ContDTO gasit = cont.First(); return(gasit); } }
public ActionResult Vizualizeaza(Model_Index model) { ContDTO cont = _readRepo.CautaCont(model.IBAN); if (cont == null) { ContDTO date = new ContDTO() { iban = model.IBAN, client = "Nu exista un client cu acest IBAN", Sold = 0 }; return(View("Vizualizare", GenereazaModelView(date))); } else { } return(View("Vizualizare", GenereazaModelView(cont))); }
public ActionResult Depunere(Model_Index model) { if (model.SumaDep != 0) { //toate datele au fost completate ContDTO cont = _readRepo.CautaCont(model.IBAN); if (cont != null) { double sum = Convert.ToDouble(model.SumaDep.ToString()); TranzactieDTO tranzDTO = new TranzactieDTO() { data = DateTime.Now.ToString(), partenerTranzactie = model.IBAN,//depune catre el insusi suma = sum, tipTranz = "depunere" }; //return View(); //_writeRepo.AdaugaTranzactie(tranzDTO, model.IBAN); bool res = EfectueazaTranzactie(model.SumaDep, cont); if (res == true) { return(View("Confirmare", GenereazaModelView(tranzDTO))); } else { return(View("Esec", GenereazaModelView("Tranzactia nu s-a putut efectua"))); } } else { //iban-ul userului nu exista return(View("Esec", GenereazaModelView("IBAN-ul dumneavoastra nu exista"))); } } else { return(View("Esec", GenereazaModelView("Nu ati introdus suma"))); } }
public Cont(ContDTO cont) { adaugaCont(cont); }
public void adaugaCont(ContDTO cont) { Cont account = new Cont(cont); myAccounts.Add(account); }
public static void Receive() { String serializedResult = ""; var factory = new ConnectionFactory() { HostName = "localhost" }; using (var connection = factory.CreateConnection()) using (var channel = connection.CreateModel()) //deschide un canal de comunicare { //creare coada, daca nu exist a deja channel.QueueDeclare(queue: "command", //numele cozii, acelasi cu coada care pe care se transmite in sender durable: false, exclusive: false, autoDelete: false, arguments: null); //creare obiect consumer care va primi mesajul de pe canalul de comunicare var consumer = new EventingBasicConsumer(channel); String message = ""; //declare string in care se va prelua mesajul // dupa ca va fi decodat //ce sa se intample cand s-a primit mesajul consumer.Received += (model, ea) => { var body = ea.Body; message = Encoding.UTF8.GetString(body); SerializedCommandDTO cmd = JsonConvert.DeserializeObject <SerializedCommandDTO>(message); if (cmd.TipTranzactie.Equals("transfera")) { //preia datele din comanda (deserializate) double sum = cmd.suma; ContDTO source = cmd.conturi[0]; ContDTO destination = cmd.conturi[1]; //proceseaza comanda si obtine prin asta un raspuns serializat (rezultatul) String res = ProcesatorComanda.Proceseaza(sum, source, destination); serializedResult = res; } else if (cmd.TipTranzactie.Equals("depunere")) { double sum = cmd.suma; ContDTO source = cmd.conturi[0]; String res = ProcesatorComanda.Proceseaza(sum, source); serializedResult = res; } }; //Asteapta sa se primeasca mesajul channel.BasicConsume(queue: "command", autoAck: true, consumer: consumer); do { //asteapta sa se proceseze comanda apoi trimite raspunsul if (!serializedResult.Equals("")) { //trimite rezultatul pe coada de raspuns ResultSender.Send(serializedResult); } } while (serializedResult.Equals("")); } }
public void adaugaCont(ContDTO account, string username) { var cont = new Cont(account); SalvareContInLista(account, username); }