public static void CombinaCompte(Compte compte) { // Get data from the bank List <RegistreSabadell> registresSabadell = ReadSabadellFile(compte.rutaExtractSabadell); // Merge - Per cada registre sabadell l'afegeix a la base de dades (Si no existeix) foreach (RegistreSabadell regSabadell in registresSabadell) { if (!Existeix(regSabadell, compte)) { var reg = new Moviment(); reg.Data = regSabadell.Data; reg.Concepte = regSabadell.Concepte; reg.Import = regSabadell.Import; reg.Revisat = false; Dictionary <String, Int32> diccionari = compte.DonaCategoriesConcepte(reg.Concepte); if (diccionari.Keys.Count == 1) { reg.Categoria = diccionari.Keys.First(); } compte.moviments.Add(reg); } } }
private List <string> ValidateMoviment(Moviment obj) { var validationMsgs = new List <string>(); if (obj.FundId == null || obj.FundId == Guid.Empty) { validationMsgs.Add("É necessário informar um fundo para aplicação/resgate"); } if (string.IsNullOrWhiteSpace(obj.Cpf)) { validationMsgs.Add("É necessário informar o CPF para aplicação/resgate"); } if (obj.Date == DateTime.MinValue) { validationMsgs.Add("É necessário informar a data para aplicação/resgate"); } if (obj.Amount <= default(decimal)) { validationMsgs.Add("É necessário informar o valor para aplicação/resgate"); } if (!string.IsNullOrWhiteSpace(obj.Cpf) && !Validators.CpfIsValid(obj.Cpf)) { validationMsgs.Add("É necessário informar um CPF válido"); } return(validationMsgs); }
private static void carregaDades(String fileAntic, string fileCalderilla) { Compte compte; compte = new Compte(); compte.moviments = new List <Moviment>(); var parser = new TextFieldParser(fileAntic); parser.SetDelimiters("|"); while (!parser.EndOfData) { var registre = new Moviment(); var currentRow = parser.ReadFields(); { //FECHA OPER CONCEPTO FECHA VALOR IMPORTE SALDO REFERENCIA 1 REFERENCIA 2 registre.Data = DateTime.ParseExact(currentRow[0], "dd/MM/yyyy", CultureInfo.InvariantCulture); registre.Concepte = currentRow[1]; registre.Import = Convert.ToDecimal(currentRow[2], new CultureInfo("es-ES")); registre.Categoria = currentRow[3]; } compte.moviments.Add(registre); } // Serialitza string json = JsonConvert.SerializeObject(compte); System.IO.File.WriteAllText(fileCalderilla, json); }
/// <summary> /// Validates and, if successful, saves a Moviment object. /// </summary> /// <param name="obj">Moviment object, representing a redemption or application moviment.</param> /// <returns></returns> public Response <Moviment> Save(Moviment obj) { Response <Moviment> response = new Response <Moviment>(); try { var msgs = ValidateMoviment(obj); if (msgs.Count > 0) { response.StatusCode = StatusCode.BadRequest; response.Messages = msgs; return(response); } using (Uow) { response.Entity = Repository.Save(obj); int commit = Uow.Commit(); } } catch (Exception ex) { response.ReponseException(ex); } return(response); }
//Panel dret private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { if (compte != null) { if (e.RowIndex < compte.moviments.Count) { Moviment reg = compte.moviments[e.RowIndex]; //Info row String str1 = ""; Dictionary <String, Int32> diccionariCategoriesConcepte = compte.DonaCategoriesConcepte(reg.Concepte); foreach (var keyValue in diccionariCategoriesConcepte) { str1 = str1 + String.Format("{0} - {1}", keyValue.Key, keyValue.Value) + "\n"; } label1.Text = reg.GetString() + "POSSIBLES CATEGORIES" + "\n" + str1; //Llista categories String str2 = ""; Dictionary <String, Int32> diccionariCategories = compte.DonaCategories(); foreach (var keyValue in diccionariCategories) { str2 = str2 + String.Format("{0} - {1}", keyValue.Key, keyValue.Value) + "\n"; } label2.Text = "\n\nCATEGORIES:" + "\n\n" + str2; } } Int32 totalMoviments = compte.moviments.Count; Int32 totalMovimentsNoRevisats = compte.moviments.Where(m => m.Revisat == false).Count(); Int32 totalDeshabilitatsAmbCategoria = compte.moviments.Where(m => m.Categoria != null && m.Deshabilita == true).Count(); label3.Text = "( " + totalMovimentsNoRevisats + " moviments no revisats de un total de " + totalMoviments + ") ( " + totalDeshabilitatsAmbCategoria + " moviments deshabilitats amb categoria )"; }
private void button2_Click(object sender, EventArgs e) { Moviment mov = (Moviment)binding.AddNew(); mov.Categoria = categoriaTextBox.Text; mov.Comentari = comentariTextBox.Text; mov.Concepte = concepteTextBox.Text; mov.Data = dataDateTimePicker.Value.Date; mov.Deshabilita = deshabilitaCheckBox.Checked; mov.Import = decimal.Parse(importTextBox.Text); mov.Revisat = revisatCheckBox.Checked; this.Close(); }
public ActionResult Index(HttpPostedFileBase file) { if (file?.ContentLength > 0) { try { List <Moviment> Lmoviment = new List <Moviment>(); CultureInfo cultureInfo = new CultureInfo("fr-FR"); using (StreamReader str = new StreamReader(file.InputStream)) { string line; while ((line = str.ReadLine()) != null) { string[] data = line.Split(','); if (data[0] != "Date" && data[1] != "Price") { Moviment moviment = new Moviment { Date = DateTime.Parse(data[0], cultureInfo), Price = double.Parse(data[1]), }; Lmoviment.Add(moviment); } } } foreach (var item in Lmoviment) { ctx.Moviments.Add(item); ctx.SaveChanges(); } ViewBag.SUCCESS = "Success"; return(View()); } catch (Exception message) { ViewBag.ERROR = "failed to import the file"; return(View()); } } else { return(View()); } }
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { // Pijama per mes if (compte != null) { if (e.RowIndex < compte.moviments.Count) { Moviment reg = compte.moviments[e.RowIndex]; Dictionary <String, Int32> diccionari = compte.DonaCategoriesConcepte(reg.Concepte); if (diccionari.Count == 1) { reg.Categoria = diccionari.Keys.First(); } } } }
//Elimina private void button4_Click(object sender, EventArgs e) { var selectedCells = this.dataGridView1.SelectedCells; if (selectedCells.Count == 1) { var cell = selectedCells[0]; Moviment reg = compte.moviments[cell.RowIndex]; DialogResult dialogResult = MessageBox.Show("Segur que vols eliminar aquest moviment?\n\n" + reg.GetString(), "Elimina moviment", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { compte.moviments.Remove(reg); this.dataGridView1.Refresh(); } } }
private void FixedUpdate() { playerGO = GameObject.FindWithTag("Player") ? GameObject.FindWithTag("Player").GetComponent <Moviment>() : null; if (playerGO == null) { return; } if (isDead()) { if (playerGO.cant_move) { playerGO.jump(); playerGO.gameObject.GetComponent <CapsuleCollider2D>().isTrigger = true; playerGO.gameObject.tag = "Dead"; CoreController.Instance().gameController.justDied(); playerGO.cant_move = false; } } }
public void ShouldValidateFields() { var uowMock = new Mock <IUnitOfWork>(); var repositoryMock = new Mock <IMovimentRepository>(); var obj = new Moviment(); repositoryMock.Setup(i => i.Save(obj)).Verifiable(); var business = new MovimentBusiness(uowMock.Object, repositoryMock.Object); var response = business.Save(obj); Assert.True(StatusCode.BadRequest == response.StatusCode && response.Messages.Any(i => i == "É necessário informar um fundo para aplicação/resgate") && response.Messages.Any(i => i == "É necessário informar o CPF para aplicação/resgate") && response.Messages.Any(i => i == "É necessário informar a data para aplicação/resgate") && response.Messages.Any(i => i == "É necessário informar o valor para aplicação/resgate")); repositoryMock.Verify(i => i.Save(obj), Times.Never); }
public void ShouldReturnResponse() { var uowMock = new Mock <IUnitOfWork>(); var repositoryMock = new Mock <IMovimentRepository>(); var obj = new Moviment() { Amount = 50, Cpf = "59732481005", Date = DateTime.Today, FundId = Guid.NewGuid(), MovimentType = MovimentType.Application }; repositoryMock.Setup(i => i.Save(obj)).Verifiable(); var business = new MovimentBusiness(uowMock.Object, repositoryMock.Object); var response = business.Save(obj); Assert.True(200 == (int)response.StatusCode && response.Messages.Count == 0); }
public void ShouldCallRepository() { var uowMock = new Mock <IUnitOfWork>(); var repositoryMock = new Mock <IMovimentRepository>(); var obj = new Moviment() { Amount = 50, Cpf = "59732481005", Date = DateTime.Today, FundId = Guid.NewGuid(), MovimentType = MovimentType.Application }; repositoryMock.Setup(i => i.Save(obj)).Verifiable(); var business = new MovimentBusiness(uowMock.Object, repositoryMock.Object); business.Save(obj); repositoryMock.Verify(i => i.Save(obj), Times.Once); }
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { //Imports Red or Green Object obj = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value; if (obj is Decimal) { Decimal dec = (Decimal)obj; if (dec < 0) { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style = new DataGridViewCellStyle { ForeColor = Color.Red }; } else { dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style = new DataGridViewCellStyle { ForeColor = Color.Green }; } } // Pijama per mes if (compte != null) { if (e.RowIndex < compte.moviments.Count) { Moviment reg = compte.moviments[e.RowIndex]; if (reg.Data.Month % 2 == 1) { e.CellStyle.BackColor = Color.FromArgb(184, 204, 228); } else { e.CellStyle.BackColor = Color.FromArgb(220, 230, 241); } } } }
public void ShouldValidateCpf() { var uowMock = new Mock <IUnitOfWork>(); var repositoryMock = new Mock <IMovimentRepository>(); var obj = new Moviment() { Amount = 50, Cpf = "59712481005", Date = DateTime.Today, FundId = Guid.NewGuid(), MovimentType = MovimentType.Redemption }; repositoryMock.Setup(i => i.Save(obj)).Verifiable(); var business = new MovimentBusiness(uowMock.Object, repositoryMock.Object); var response = business.Save(obj); Assert.True(StatusCode.BadRequest == response.StatusCode && response.Messages.Any(i => i == "É necessário informar um CPF válido")); repositoryMock.Verify(i => i.Save(obj), Times.Never); }
void Awake() { instance = this; }