public List <Overdraft> ListAllOverdrafts() { List <Overdraft> allOverdrafts = new List <Overdraft>(); connection.Open(); try { string query = $"SELECT * FROM `overdrafts` ;"; MySqlCommand command = new MySqlCommand(query, connection); MySqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int accountHolderId = reader.GetInt32(1); double amount = reader.GetDouble(2); DateTime dateOfApproval = reader.GetDateTime(3); int overdraftStatus = reader.GetInt32(4); double amountLeft = reader.GetDouble(5); Overdraft overdraft = new Overdraft(accountHolderId, amount, dateOfApproval, overdraftStatus, amountLeft); allOverdrafts.Add(overdraft); } connection.Close(); return(allOverdrafts); } catch (Exception ex) { Console.WriteLine(ex.Message); return(allOverdrafts); } }
public bool Create(Overdraft overdraft) { connection.Open(); try { string query = "INSERT INTO overdrafts(accountHolderId, amount, overdraftStatus, amountLeft) VALUES('" + overdraft.AccountHolderId + "', '" + overdraft.Amount + "', '" + overdraft.Status + "', '" + overdraft.AmountLeft + "')"; MySqlCommand command = new MySqlCommand(query, connection); int count = command.ExecuteNonQuery(); if (count > 0) { connection.Close(); return(true); } else { connection.Close(); return(false); } } catch (Exception ex) { Console.WriteLine(ex.Message); connection.Close(); } connection.Close(); return(false); }
/// <summary> /// Returns true if BalanceViewModel instances are equal /// </summary> /// <param name="input">Instance of BalanceViewModel to be compared</param> /// <returns>Boolean</returns> public bool Equals(BalanceViewModel input) { if (input == null) { return(false); } return (( Amount == input.Amount || Amount != null && Amount.Equals(input.Amount) ) && ( Type == input.Type || Type != null && Type.Equals(input.Type) ) && ( Overdraft == input.Overdraft || Overdraft != null && Overdraft.Equals(input.Overdraft) ) && ( DateTime == input.DateTime || DateTime != null && DateTime.Equals(input.DateTime) )); }
public bool Update(Overdraft overdraft) { connection.Open(); try { string query = $"Update `overdrafts` set `overdrafts`.`overdraftStatus` = '{overdraft.Status}', `overdrafts`.`amountLeft` = '{overdraft.AmountLeft}' WHERE `overdrafts`.`accountHolderId` = '{overdraft.AccountHolderId}' and `overdrafts`.`overdraftStatus` = 1"; MySqlCommand command = new MySqlCommand(query, connection); int count = command.ExecuteNonQuery(); if (count > 0) { connection.Close(); return(true); } else { connection.Close(); return(false); } } catch (Exception e) { connection.Close(); Console.WriteLine(e.Message); return(false); } }
private async Task fireAndForgetAsync(PayrollStampingParams payrollStampingParams, Overdraft overdraftToStamp, List <PayrollCompanyConfiguration> payrollConfigurations, BlobStorageUtil blobStorageUtil, ISendMailProvider sendMailProvider, Guid UUID, string XML) { try { //7. Save XML to BlobStorage await blobStorageUtil.UploadDocumentAsync($"{UUID}.xml", XML); ////8. Transforma el XML a HTML y PDF var resultTransformation = await xmlTransformationAsync(payrollStampingParams, overdraftToStamp, XML); ////Save PDF to BlobStorage await blobStorageUtil.UploadDocumentAsync($"{UUID}.pdf", resultTransformation.PreviewTransformResultDetails.FirstOrDefault().TransformPDFResult); ////9. Send email with the payroll to Employee await sendMailAsync(overdraftToStamp, UUID, XML, resultTransformation.PreviewTransformResultDetails.FirstOrDefault().TransformPDFResult, sendMailProvider, payrollConfigurations); } catch (Exception ex) { Trace.TraceError($"No fue posible transformar / enviar el comprobante al colaborador. {ex.Message}"); } }
public List <OverdraftDetail> GetOtherPayments(Overdraft overdraft) { //Marcado como SATCode OP var lstDetailsTemp = new List <OverdraftDetail>(overdraft.OverdraftDetails.DeepClone()); //copy conceptPayment lstDetailsTemp.ForEach(p => { var conceptPayment = overdraft.OverdraftDetails.FirstOrDefault(w => w.ID == p.ID).ConceptPayment; p.ConceptPayment = conceptPayment; }); return(lstDetailsTemp.Where(p => (p.ConceptPayment.SATGroupCode.Contains("OP") && p.ConceptPayment.ConceptType == ConceptType.DeductionPayment) || (p.ConceptPayment.Code == 99 && p.ConceptPayment.ConceptType == ConceptType.DeductionPayment) ).Select(p => { if (p.Amount < 0) { p.Amount = p.Amount * -1; } return p; }).ToList()); }
public CustomerAccount(string accountNumber, string accountName, Currencies accountCurrency, AccountRestrictions restrictions = null) : base(accountNumber, accountName, accountCurrency) { Overdraft = new Overdraft(); if (restrictions == null) { Restrictions = new AccountRestrictions(); } }
public decimal GetNetAmount(Overdraft overdraft) { var salariesOverdraftDetails = overdraft.OverdraftDetails.Where(p => (p.ConceptPayment.ConceptType == ConceptType.SalaryPayment) && !p.ConceptPayment.Kind); var deductionsOverdraftDetails = overdraft.OverdraftDetails.Where(p => (p.ConceptPayment.ConceptType == ConceptType.DeductionPayment) && !p.ConceptPayment.Kind); decimal salariesTotal = salariesOverdraftDetails.Sum(p => p.Amount); decimal deductionsTotal = deductionsOverdraftDetails.Sum(p => p.Amount); return(salariesTotal - deductionsTotal); }
public void GetOverdraft(int accountHolderId, double amount, double amountLeft) { Overdraft newOverdraft = new Overdraft { AccountHolderId = accountHolderId, Amount = amount, Status = 1, AmountLeft = amountLeft }; _overdraftRepository.GetOverdraft(newOverdraft); }
private async Task sendMailAsync(Overdraft overdraftToStamp, Guid UUID, string XML, byte[] PDF, ISendMailProvider sendMailProvider, List <PayrollCompanyConfiguration> payrollCompanyConfigurations) { if (!String.IsNullOrEmpty(overdraftToStamp.HistoricEmployee.Email)) { var message = new StringBuilder(); message.Append($"Estimado(a) {overdraftToStamp.HistoricEmployee.FullName},"); message.AppendLine(); message.AppendLine("Por parte de tu empresa en la que estas colaborando te mandamos los datos de tu recibo de nómina."); message.AppendLine($"Periodo: <strong>{overdraftToStamp.HistoricEmployee.PeriodTypeDescription} {overdraftToStamp.PeriodDetail.InitialDate.ToShortDateString()} al {overdraftToStamp.PeriodDetail.FinalDate.ToShortDateString()}.</strong>"); message.AppendLine($"RFC Emisor: <strong>{payrollCompanyConfigurations.FirstOrDefault().RFC}</strong>"); message.AppendLine($"Razón Social: <strong>{payrollCompanyConfigurations.FirstOrDefault().SocialReason}</strong>"); message.AppendLine($"UUID: <strong>{UUID}</strong>"); var sendindParams = new SendMailParams() { HTMLContent = message.ToString(), SendMailAddresses = new List <SendMailAddress>() { new SendMailAddress() { Email = overdraftToStamp.HistoricEmployee.Email, Name = overdraftToStamp.HistoricEmployee.FullName } }, PlainContentText = message.ToString(), SendMailAttachments = new List <SendMailAttachment>() { new SendMailAttachment() { Attachment = Encoding.UTF8.GetBytes(XML), Filename = $"{UUID}.xml", TypeAttachment = TypeAttachment.XML }, }, Subject = "Cotorria - Envío de recibo de nómina", }; if (PDF != null) { sendindParams.SendMailAttachments.Add(new SendMailAttachment() { Attachment = PDF, Filename = $"{UUID}.pdf", TypeAttachment = TypeAttachment.PDF }); } await sendMailProvider.SendMailAsync(sendindParams); } }
private async Task <Overdraft> Calculate(Overdraft actualOverdraft, Guid identityWorkID, Guid instanceID, Guid user) { var mgr = new OverdraftCalculationManager(); var result = await mgr.CalculateAsync(new CalculateOverdraftParams() { IdentityWorkID = identityWorkID, InstanceID = instanceID, DeleteAccumulates = false, OverdraftID = actualOverdraft.ID, ResetCalculation = false, UserID = user }); return((result as CalculateOverdraftResult).OverdraftResult); }
private List <Overdraft> GetOverDraft() { List <Overdraft> overs = new List <Overdraft>(); Overdraft oversISR = OverdraftManagerUT.GenerateObject(Guid.NewGuid(), Guid.NewGuid()).FirstOrDefault(); int code = 55; oversISR.OverdraftDetails.ForEach(detail => { detail.ConceptPayment.Code = code++; }); overs.Add(oversISR); overs.AddRange(OverdraftManagerUT.GenerateObject(Guid.NewGuid(), Guid.NewGuid())); return(overs); }
public void PayOverDraft(int accountHolderId, double amount) { List <Overdraft> allOverdrafts = OverdraftRepository.FindOverdrafts(accountHolderId); Overdraft activeoverdraft = FindActiveOverdraft(allOverdrafts); activeoverdraft.AmountLeft -= amount; if (activeoverdraft.AmountLeft <= 0) { activeoverdraft.AmountLeft = 0; } if (activeoverdraft.AmountLeft == 0) { activeoverdraft.Status = 0; } OverdraftRepository.Update(activeoverdraft); }
public async Task <(string, DateTime)> GetZipCode(Overdraft overdraft, PayrollCompanyConfiguration payrollCompanyConfiguration) { var zipCode = String.Empty; if (!String.IsNullOrEmpty(overdraft.HistoricEmployee.EmployerRegistrationZipCode)) { zipCode = overdraft.HistoricEmployee.EmployerRegistrationZipCode; } else if (!String.IsNullOrEmpty(payrollCompanyConfiguration.Address?.ZipCode)) { zipCode = payrollCompanyConfiguration.Address?.ZipCode; } else { zipCode = "44600"; } return(zipCode, await getDateByZipCode(zipCode)); }
public void PayOverdraft(int accountHolderId, double amount) { Overdraft activeoverdraft = _overdraftRepository.FindActiveOverdraftById(accountHolderId); if (activeoverdraft != null) { activeoverdraft.AmountLeft -= amount; if (activeoverdraft.AmountLeft <= 0) { activeoverdraft.AmountLeft = 0; } if (activeoverdraft.AmountLeft == 0) { activeoverdraft.Status = 0; } _overdraftRepository.UpdateOverdraft(activeoverdraft); } }
static void Main(string[] args) { Account a1 = new Fixed("NISHI", "1", 10000, 2020, 5); Account a2 = new Savings("SAkIB", "2", 50000, 10); Account a3 = new SpecialSavings("NIDHI", "3", 20000, 5); Account a4 = new Overdraft("AKASH", "4", 150000, 20000); a1.Withdraw(500); a2.Withdraw(500); a3.Withdraw(500); a4.Withdraw(500); a1.Withdraw(5000); a2.Withdraw(40000); a3.Withdraw(6000); a4.Withdraw(10000); }
static void Main(string[] args) { SavingAccount s = new SavingAccount("Sadman", "101", 1000); s.Withdraw(800); FixedAccount f = new FixedAccount("Sadman", "102", 1000, 2022); f.Withdraw(200); SpecialSavings ss = new SpecialSavings("Sadman", "104", 1000, 2); ss.Withdraw(900); ss.Withdraw(200); ss.Withdraw(200); ss.Withdraw(200); // should exceed monthly limit Overdraft od = new Overdraft("Sadman", "101", 1000, 500); od.Withdraw(1200); od.Withdraw(100); od.Withdraw(300); // should exceed OVerhead limit }
/// <summary> /// Gets the hash code /// </summary> /// <returns>Hash code</returns> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; if (Amount != null) { hashCode = hashCode * 59 + Amount.GetHashCode(); } if (Type != null) { hashCode = hashCode * 59 + Type.GetHashCode(); } if (Overdraft != null) { hashCode = hashCode * 59 + Overdraft.GetHashCode(); } if (DateTime != null) { hashCode = hashCode * 59 + DateTime.GetHashCode(); } return(hashCode); } }
public List <Overdraft> FindOverdrafts(int holderId) { List <Overdraft> allOverdrafts = new List <Overdraft>(); connection.Open(); try { string query = $"SELECT * FROM `overdrafts` where `overdrafts`.`accountHolderId` = '{holderId}';"; MySqlCommand command = new MySqlCommand(query, connection); MySqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int accountHolderId = reader.GetInt32(1); double overdraftAmount = reader.GetDouble(2); DateTime overdraftDate = reader.GetDateTime(3); int overdraftStatus = reader.GetInt32(4); double amountLeft = reader.GetDouble(5); Overdraft aoverdraft = new Overdraft(accountHolderId, overdraftAmount, overdraftDate, overdraftStatus, amountLeft); allOverdrafts.Add(aoverdraft); } connection.Close(); return(allOverdrafts); } catch (Exception ex) { connection.Close(); Console.WriteLine(ex.Message); return(allOverdrafts); } }
public Overdraft GetOverdraft(Overdraft overdraft) { context.Overdrafts.Add(overdraft); context.SaveChanges(); return(overdraft); }
public void Should_Create_Layout_Multiple_Overdrafts() { //Arrange string expected = "000000001REHE730714HG8 998899775533 000000000296020Ernesto Renteria Huerta 001001" + Environment.NewLine + "000000002BACF6710256R4 997788556633 000000000748960Fermin Ballesteros Cruz 001001" + Environment.NewLine; BBVAPaymentLayoutManager bbvaLayout = new BBVAPaymentLayoutManager(); List <Overdraft> overdrafts = new List <Overdraft>(); List <OverdraftDetail> overdraftDetails = new List <OverdraftDetail>(); OverdraftDetail detail; ConceptPayment concept; concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 3200.0m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 239.8m, Value = 0, }; overdraftDetails.Add(detail); //Employee 1 Employee employee = new Employee(); Overdraft overdraft = new Overdraft(); employee.RFC = "REHE730714HG8"; employee.BankAccount = "8899775533"; employee.FirstLastName = "Renteria"; employee.SecondLastName = "Huerta"; employee.Name = "Ernesto"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Employee 2 overdraftDetails = new List <OverdraftDetail>(); concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 7399.9m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "Bono", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 650m, Value = 0, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 239.8m, Value = 0, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "ISR", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 320.5m, Value = 0, }; overdraftDetails.Add(detail); employee = new Employee(); overdraft = new Overdraft(); employee.RFC = "BACF6710256R4"; employee.BankAccount = "7788556633"; employee.FirstLastName = "Ballesteros"; employee.SecondLastName = "Cruz"; employee.Name = "Fermin"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Act string actual = bbvaLayout.GenerateLayout(overdrafts, null); //Assert Assert.Equal(expected, actual); }
public void Should_Create_Layout_No_Second_Last_Name() { //Arrange string expected = "10227865814512007200001Version1300 DEPOSITOS POR NOMINA05 B00" + Environment.NewLine + "2100100000000000009232001030100000000000896523174 " + Environment.NewLine + "3000100000000000009232003055500000000002255669988002 Gonzalez Jose Luis 1 03010000" + Environment.NewLine + "4001000001000000000000092320000001000000000000092320" + Environment.NewLine; BanamexPaymentLayoutManager banamexbankLayout = new BanamexPaymentLayoutManager(); BanamexAdditionalInformation additionalInformation = new BanamexAdditionalInformation { CustomerNumber = "22786581451", ChargeAccount = "896523174", FileNumberOfDay = "1", PaymentDate = new DateTime(2020, 7, 20), BranchOfficeNumber = "301", StateID = "1", CityID = "301", CompanyName = "Version1300" }; List <Overdraft> overdrafts = new List <Overdraft>(); List <OverdraftDetail> overdraftDetails = new List <OverdraftDetail>(); OverdraftDetail detail; ConceptPayment concept; concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 923.2m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 0m, Value = 0, }; overdraftDetails.Add(detail); Employee employee = new Employee(); Overdraft overdraft = new Overdraft(); employee.RFC = "POSL920306LD2"; employee.BankAccount = "2255669988"; employee.BankBranchNumber = "555"; employee.FirstLastName = "Gonzalez"; employee.SecondLastName = null; employee.Name = "Jose Luis"; employee.Code = "002"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Act string actual = banamexbankLayout.GenerateLayout(overdrafts, additionalInformation); //Assert Assert.Equal(expected, actual); }
public void Should_Create_Layout_Multiple_Overdraft() { //Arrange string expected = "10227865814512007200001Version1300 DEPOSITOS POR NOMINA05 B00" + Environment.NewLine + "2100100000000000119386001030100000000000896523174 " + Environment.NewLine + "3000100000000000051662003055500000000002255669988002 Gonzalez Garcia Jose Luis 1 03010000" + Environment.NewLine + "3000100000000000048042003033300000000000000007789006 Martinez Ruiz Juan Jose 1 03010000" + Environment.NewLine + "3000100000000000019682003075400000000000071235489007 Funco Salon Demian 1 03010000" + Environment.NewLine + "4001000003000000000001193860000001000000000001193860" + Environment.NewLine; BanamexPaymentLayoutManager scotiabankLayout = new BanamexPaymentLayoutManager(); BanamexAdditionalInformation additionalInformation = new BanamexAdditionalInformation { CustomerNumber = "22786581451", ChargeAccount = "896523174", FileNumberOfDay = "1", PaymentDate = new DateTime(2020, 7, 20), BranchOfficeNumber = "301", StateID = "1", CityID = "301", CompanyName = "Version1300" }; List <Overdraft> overdrafts = new List <Overdraft>(); List <OverdraftDetail> overdraftDetails = new List <OverdraftDetail>(); OverdraftDetail detail; ConceptPayment concept; //Employee 1 concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 6000.0m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "ISR", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 833.8m, Value = 0, }; overdraftDetails.Add(detail); Employee employee = new Employee(); Overdraft overdraft = new Overdraft(); employee.RFC = "POSL920306LD2"; employee.BankAccount = "2255669988"; employee.FirstLastName = "Gonzalez"; employee.SecondLastName = "Garcia"; employee.Name = "Jose Luis"; employee.Code = "002"; employee.BankBranchNumber = "555"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Employee 2 overdraftDetails = new List <OverdraftDetail>(); concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 5423.45m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "Bono", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 100m, Value = 0, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 134.94m, Value = 0, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "ISR", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 584.31m, Value = 0, }; overdraftDetails.Add(detail); employee = new Employee(); overdraft = new Overdraft(); employee.RFC = "REHE730714HG8"; employee.BankAccount = "7789"; employee.FirstLastName = "Martinez"; employee.SecondLastName = "Ruiz"; employee.Name = "Juan Jose"; employee.Code = "006"; employee.BankBranchNumber = "333"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Employee 3 overdraftDetails = new List <OverdraftDetail>(); concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 1950m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 45.07m, Value = 0, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "Subsidio", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = -63.27m, Value = 0, }; overdraftDetails.Add(detail); employee = new Employee(); overdraft = new Overdraft(); employee.RFC = "BACF6710253V5"; employee.BankAccount = "71235489"; employee.FirstLastName = "Funco"; employee.SecondLastName = "Salon"; employee.Name = "Demian"; employee.Code = "007"; employee.BankBranchNumber = "754"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Act string actual = scotiabankLayout.GenerateLayout(overdrafts, additionalInformation); //Assert Assert.Equal(expected, actual); }
public void Should_Create_Layout_Multiple_Overdraft() { //Arrange string expected = "EEHA9957601000000000000000000000000000 " + Environment.NewLine + "EEHB000000032003348041234567899000 " + Environment.NewLine + "EEDA040000000000009232020200704011 ESCUDERO IGNACIO JULIA 000000000000000100000000000000000000320077000000000 1 00000044044001NOMINA 0000000000000000000000000 " + Environment.NewLine + "EEDA040000000000011622020200704012 PEREZ DAVILA JANCARLOS 000000000000000200000000000000000000320065119200000 1 00000044044001NOMINA 0000000000000000000000000 " + Environment.NewLine + "EEDA040000000000009230020200704013 CASTAÑEDA CERVANTES ROXANA GUADALUPE 000000000000000300000000000000000000320064914700000 1 00000044044001NOMINA 0000000000000000000000000 " + Environment.NewLine + "EETB000000300000000000300840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 " + Environment.NewLine + "EETA000000300000000000300840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 " + Environment.NewLine; ScotiabankPaymentLayoutManager scotiabankLayout = new ScotiabankPaymentLayoutManager(); ScotiabankAdditionalInformation additionalInformation = new ScotiabankAdditionalInformation { CustomerNumber = "99576", ChargeAccount = "3200334804", FileNumberOfDay = "1", CompanyReference = "1234567899", PaymentDate = new DateTime(2020, 7, 4), }; List <Overdraft> overdrafts = new List <Overdraft>(); List <OverdraftDetail> overdraftDetails = new List <OverdraftDetail>(); OverdraftDetail detail; ConceptPayment concept; //Employee 1 concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 923.2m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 0m, Value = 0, }; overdraftDetails.Add(detail); Employee employee = new Employee(); Overdraft overdraft = new Overdraft(); employee.RFC = "POSL920306LD2"; employee.BankAccount = "03200770000"; employee.FirstLastName = "ESCUDERO"; employee.SecondLastName = "IGNACIO"; employee.Name = "JULIA"; employee.Code = "002"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Employee 2 overdraftDetails = new List <OverdraftDetail>(); concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 1200.0m, Value = 7, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "Bono", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 120m, Value = 0, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 45.0m, Value = 0, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "ISR", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 112.8m, Value = 0, }; overdraftDetails.Add(detail); employee = new Employee(); overdraft = new Overdraft(); employee.RFC = "REHE730714HG8"; employee.BankAccount = "03200651192"; employee.FirstLastName = "PEREZ"; employee.SecondLastName = "DAVILA"; employee.Name = "JANCARLOS"; employee.Code = "004"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Employee 3 overdraftDetails = new List <OverdraftDetail>(); concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 1150.0m, Value = 7, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "Todas deducciones", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 227.0m, Value = 0, }; overdraftDetails.Add(detail); employee = new Employee(); overdraft = new Overdraft(); employee.RFC = "BACF6710253V5"; employee.BankAccount = "03200649147"; employee.FirstLastName = "CASTAÑEDA"; employee.SecondLastName = "CERVANTES"; employee.Name = "ROXANA GUADALUPE"; employee.Code = "00000007"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Act string actual = scotiabankLayout.GenerateLayout(overdrafts, additionalInformation); //Assert Assert.Equal(expected, actual); }
public void Should_Create_Layout_No_Second_Last_Name() { //Arrange string expected = "EEHA9957601000000000000000000000000000 " + Environment.NewLine + "EEHB000000032003348041234567899000 " + Environment.NewLine + "EEDA040000000000009232020200704011 ESCUDERO JULIA 000000000000000100000000000000000000320077000000000 1 00000044044001NOMINA 0000000000000000000000000 " + Environment.NewLine + "EETB000000100000000000092320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 " + Environment.NewLine + "EETA000000100000000000092320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 " + Environment.NewLine; ScotiabankPaymentLayoutManager scotiabankLayout = new ScotiabankPaymentLayoutManager(); ScotiabankAdditionalInformation additionalInformation = new ScotiabankAdditionalInformation { CustomerNumber = "99576", ChargeAccount = "3200334804", FileNumberOfDay = "1", CompanyReference = "1234567899", PaymentDate = new DateTime(2020, 7, 4), }; List <Overdraft> overdrafts = new List <Overdraft>(); List <OverdraftDetail> overdraftDetails = new List <OverdraftDetail>(); OverdraftDetail detail; ConceptPayment concept; concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 923.2m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 0m, Value = 0, }; overdraftDetails.Add(detail); Employee employee = new Employee(); Overdraft overdraft = new Overdraft(); employee.RFC = "POSL920306LD2"; employee.BankAccount = "03200770000"; employee.FirstLastName = "ESCUDERO"; employee.SecondLastName = ""; employee.Name = "JULIA"; employee.Code = "002"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Act string actual = scotiabankLayout.GenerateLayout(overdrafts, additionalInformation); //Assert Assert.Equal(expected, actual); }
private async Task SaveOverdraft(Overdraft settlementOverdraft, Guid identityWorkID) { var manager = new MiddlewareManager <Overdraft>(new BaseRecordManager <Overdraft>(), new OverdraftValidator()); await manager.CreateAsync(new List <Overdraft>() { settlementOverdraft }, identityWorkID); }
public Overdraft UpdateOverdraft(Overdraft overdraft) { context.Overdrafts.Update(overdraft); context.SaveChanges(); return(overdraft); }
public void Should_Create_Layout_Single_Overdraft_Long_Employee_Name() { //Arrange string expected = "000000001REHE730714HG8 998899775533 000000000296020Jose de Jesus de Dios Bendito Rodriguez 001001" + Environment.NewLine; BBVAPaymentLayoutManager bbvaLayout = new BBVAPaymentLayoutManager(); List <Overdraft> overdrafts = new List <Overdraft>(); List <OverdraftDetail> overdraftDetails = new List <OverdraftDetail>(); OverdraftDetail detail; ConceptPayment concept; concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 3200.0m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 239.8m, Value = 0, }; overdraftDetails.Add(detail); Employee employee = new Employee(); Overdraft overdraft = new Overdraft(); employee.RFC = "REHE730714HG8"; employee.BankAccount = "8899775533"; employee.FirstLastName = "Rodriguez"; employee.SecondLastName = "Garcia"; employee.Name = "Jose de Jesus de Dios Bendito"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Act string actual = bbvaLayout.GenerateLayout(overdrafts, null); //Assert Assert.Equal(expected, actual); }
public void Should_Create_Layout_No_Employee_Bank_Account() { //Arrange string expected = "20200704998855667Regresivas1241 #" + Environment.NewLine + "Rodriguez Sanchez Ivan 007000000000000000001968200000000007" + Environment.NewLine; BanortePaymentLayoutManager banorteLayout = new BanortePaymentLayoutManager(); BanorteAdditionalInformation additionalInformation = new BanorteAdditionalInformation { SystemID = "007", ChargeAccount = "998855667", PaymentDate = new DateTime(2020, 7, 4), CompanyName = "Regresivas1241", }; List <Overdraft> overdrafts = new List <Overdraft>(); List <OverdraftDetail> overdraftDetails = new List <OverdraftDetail>(); OverdraftDetail detail; ConceptPayment concept; concept = new ConceptPayment { Name = "Sueldo", ConceptType = ConceptType.SalaryPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 1968.2m, Value = 15, }; overdraftDetails.Add(detail); concept = new ConceptPayment { Name = "IMSS", ConceptType = ConceptType.DeductionPayment, }; detail = new OverdraftDetail { ConceptPayment = concept, Amount = 0m, Value = 0, }; overdraftDetails.Add(detail); Employee employee = new Employee(); Overdraft overdraft = new Overdraft(); employee.RFC = "POSL920306LD2"; employee.BankAccount = null; employee.FirstLastName = "Rodriguez"; employee.SecondLastName = "Sanchez"; employee.Name = "Ivan"; employee.Code = "7"; overdraft.Employee = employee; overdraft.OverdraftDetails = overdraftDetails; overdrafts.Add(overdraft); //Act string actual = banorteLayout.GenerateLayout(overdrafts, additionalInformation); //Assert Assert.Equal(expected, actual); }
public void GetOverdraft(int accountHolderId, double amount, double amountLeft) { Overdraft newOverdraft = new Overdraft(accountHolderId, amount, amountLeft); OverdraftRepository.Create(newOverdraft); }