コード例 #1
0
        private ConceptPayment fixFormulasConceptPayment(ConceptPayment conceptPayment, CalculationBaseResult dataResponse)
        {
            var conceptDefault = dataResponse.ConceptPayments.FirstOrDefault(p =>
                                                                             p.Code == conceptPayment.Code &&
                                                                             p.ConceptType == conceptPayment.ConceptType);

            if (conceptPayment.FormulaValue == null)
            {
                conceptPayment.FormulaValue = conceptDefault.FormulaValue;
            }
            if (conceptPayment.Formula == null)
            {
                conceptPayment.Formula = conceptDefault.Formula;
            }
            if (conceptPayment.Formula1 == null)
            {
                conceptPayment.Formula1 = conceptDefault.Formula1;
            }
            if (conceptPayment.Formula2 == null)
            {
                conceptPayment.Formula2 = conceptDefault.Formula2;
            }
            if (conceptPayment.Formula3 == null)
            {
                conceptPayment.Formula3 = conceptDefault.Formula3;
            }
            if (conceptPayment.Formula4 == null)
            {
                conceptPayment.Formula4 = conceptDefault.Formula4;
            }

            if (conceptPayment.SATGroupCode == null)
            {
                conceptPayment.SATGroupCode = String.Empty;
            }

            //Name
            conceptPayment.Name = conceptDefault.Name;

            return(conceptPayment);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        private async Task <OverdraftDetail> createIfNotExistsOverdraftDetailAsync(Guid identityWorkId, Guid instanceID, Guid overdraftID,
                                                                                   int code, decimal amount, decimal taxed, decimal exempt, ConceptType conceptType = ConceptType.DeductionPayment, int satGroupCode = 0)
        {
            var middlewareManager = new MiddlewareManager <OverdraftDetail>(new BaseRecordManager <OverdraftDetail>(), new OverdraftDetailValidator());

            var middlewareConcepts = new MiddlewareManager <ConceptPayment>(new BaseRecordManager <ConceptPayment>(), new ConceptPaymentValidator());
            var conceptsAll        = await middlewareConcepts.FindByExpressionAsync(p => p.InstanceID == instanceID, identityWorkId,
                                                                                    new string[] { });

            if (!conceptsAll.Any(p => p.ConceptType == conceptType && p.Code == code))
            {
                var conceptPayment = new ConceptPayment()
                {
                    Active             = true,
                    AutomaticDismissal = true,
                    Code            = code,
                    company         = identityWorkId,
                    ConceptType     = conceptType,
                    CreationDate    = DateTime.Now,
                    DeleteDate      = null,
                    Description     = $"{code}",
                    Name            = $"{code}",
                    GlobalAutomatic = true,
                    ID           = Guid.NewGuid(),
                    InstanceID   = instanceID,
                    Kind         = true,
                    Print        = true,
                    SATGroupCode = "D-004",
                    StatusID     = 1,
                    Timestamp    = DateTime.Now,
                    user         = Guid.NewGuid()
                };
                await middlewareConcepts.CreateAsync(new List <ConceptPayment> {
                    conceptPayment
                }, identityWorkId);

                conceptsAll.Add(conceptPayment);
            }


            var overdraftDetail = new OverdraftDetail()
            {
                ID               = Guid.NewGuid(),
                Active           = true,
                company          = identityWorkId,
                Timestamp        = DateTime.UtcNow,
                InstanceID       = instanceID,
                Description      = "Sobrerecibo detalle",
                CreationDate     = DateTime.Now,
                Name             = "Sobrerecibo detalle",
                StatusID         = 1,
                user             = Guid.NewGuid(),
                ConceptPaymentID = conceptsAll.FirstOrDefault(p => p.ConceptType == conceptType && p.Code == code).ID,
                Amount           = amount,
                Taxed            = taxed,
                Exempt           = exempt,
                IMSSTaxed        = 0,
                IMSSExempt       = 0,
                Label1           = "Label1",
                Label2           = "Label2",
                Label3           = "Label3",
                Label4           = "Label4",
                OverdraftID      = overdraftID,
                Value            = amount,
                ConceptPayment   = null,
                Overdraft        = null
            };

            await middlewareManager.CreateAsync(new List <OverdraftDetail> {
                overdraftDetail
            }, identityWorkId);

            return(overdraftDetail);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        public static List <Overdraft> GenerateObject(Guid identityWorkId, Guid instanceID)
        {
            var conceptPayment = new ConceptPayment()
            {
                Active             = true,
                AutomaticDismissal = true,
                Code            = 1,
                company         = identityWorkId,
                ConceptType     = ConceptType.SalaryPayment,
                CreationDate    = DateTime.Now,
                DeleteDate      = null,
                Description     = "Salary",
                Name            = "Salary",
                GlobalAutomatic = true,
                ID           = Guid.NewGuid(),
                InstanceID   = instanceID,
                Kind         = false,
                Print        = true,
                SATGroupCode = "P-001",
                StatusID     = 1,
                Timestamp    = DateTime.Now,
                user         = Guid.NewGuid()
            };

            var conceptPayment2 = new ConceptPayment()
            {
                Active             = true,
                AutomaticDismissal = true,
                Code            = 2,
                company         = identityWorkId,
                ConceptType     = ConceptType.DeductionPayment,
                CreationDate    = DateTime.Now,
                DeleteDate      = null,
                Description     = "IMSS",
                Name            = "IMSS",
                GlobalAutomatic = true,
                ID           = Guid.NewGuid(),
                InstanceID   = instanceID,
                Kind         = false,
                Print        = true,
                SATGroupCode = "P-001",
                StatusID     = 1,
                Timestamp    = DateTime.Now,
                user         = Guid.NewGuid()
            };

            var conceptPayment3 = new ConceptPayment()
            {
                Active             = true,
                AutomaticDismissal = true,
                Code            = 3,
                company         = identityWorkId,
                ConceptType     = ConceptType.DeductionPayment,
                CreationDate    = DateTime.Now,
                DeleteDate      = null,
                Description     = "ieps",
                Name            = "IEPS",
                GlobalAutomatic = true,
                ID           = Guid.NewGuid(),
                InstanceID   = instanceID,
                Kind         = false,
                Print        = true,
                SATGroupCode = "P-001",
                StatusID     = 1,
                Timestamp    = DateTime.Now,
                user         = Guid.NewGuid()
            };

            var conceptPayment4 = new ConceptPayment()
            {
                Active             = true,
                AutomaticDismissal = true,
                Code            = 4,
                company         = identityWorkId,
                ConceptType     = ConceptType.DeductionPayment,
                CreationDate    = DateTime.Now,
                DeleteDate      = null,
                Description     = "Bono",
                Name            = "Bono",
                GlobalAutomatic = true,
                ID           = Guid.NewGuid(),
                InstanceID   = instanceID,
                Kind         = false,
                Print        = true,
                SATGroupCode = "P-001",
                StatusID     = 1,
                Timestamp    = DateTime.Now,
                user         = Guid.NewGuid()
            };

            List <Overdraft> overdraft = new List <Overdraft>()
            {
                new Overdraft()
                {
                    ID             = Guid.NewGuid(),
                    Active         = true,
                    company        = identityWorkId,
                    Timestamp      = DateTime.UtcNow,
                    InstanceID     = instanceID,
                    Description    = "Sobrerecibo",
                    CreationDate   = DateTime.Now,
                    Name           = "Sobrerecibo",
                    StatusID       = 1,
                    EmployeeID     = Guid.NewGuid(),
                    user           = Guid.NewGuid(),
                    PeriodDetailID = Guid.NewGuid(),
                }
            };

            List <OverdraftDetail> overdraftDetail = new List <OverdraftDetail>()
            {
                new OverdraftDetail()
                {
                    ID               = Guid.NewGuid(),
                    Active           = true,
                    company          = identityWorkId,
                    Timestamp        = DateTime.UtcNow,
                    InstanceID       = instanceID,
                    Description      = "Sobrerecibo",
                    CreationDate     = DateTime.Now,
                    Name             = "Sobrerecibo",
                    StatusID         = 1,
                    user             = Guid.NewGuid(),
                    ConceptPaymentID = conceptPayment.ID,
                    Amount           = 1500,
                    Taxed            = 2,
                    Exempt           = 3,
                    IMSSTaxed        = 4,
                    IMSSExempt       = 5,
                    Label1           = "Label1",
                    Label2           = "Label2",
                    Label3           = "Label3",
                    Label4           = "Label4",
                    OverdraftID      = overdraft.FirstOrDefault().ID,
                    Value            = 15,
                    ConceptPayment   = conceptPayment
                },
                new OverdraftDetail()
                {
                    ID               = Guid.NewGuid(),
                    Active           = true,
                    company          = identityWorkId,
                    Timestamp        = DateTime.UtcNow,
                    InstanceID       = instanceID,
                    Description      = "Sobrerecibo",
                    CreationDate     = DateTime.Now,
                    Name             = "Sobrerecibo",
                    StatusID         = 1,
                    user             = Guid.NewGuid(),
                    ConceptPaymentID = conceptPayment2.ID,
                    Amount           = 150,
                    Taxed            = 2,
                    Exempt           = 3,
                    IMSSTaxed        = 4,
                    IMSSExempt       = 5,
                    Label1           = "Label1",
                    Label2           = "Label2",
                    Label3           = "Label3",
                    Label4           = "Label4",
                    OverdraftID      = overdraft.FirstOrDefault().ID,
                    Value            = 15,
                    ConceptPayment   = conceptPayment2
                },
                new OverdraftDetail()
                {
                    ID               = Guid.NewGuid(),
                    Active           = true,
                    company          = identityWorkId,
                    Timestamp        = DateTime.UtcNow,
                    InstanceID       = instanceID,
                    Description      = "Sobrerecibo",
                    CreationDate     = DateTime.Now,
                    Name             = "Sobrerecibo",
                    StatusID         = 1,
                    user             = Guid.NewGuid(),
                    ConceptPaymentID = conceptPayment3.ID,
                    Amount           = 150,
                    Taxed            = 2,
                    Exempt           = 3,
                    IMSSTaxed        = 4,
                    IMSSExempt       = 5,
                    Label1           = "Label1",
                    Label2           = "Label2",
                    Label3           = "Label3",
                    Label4           = "Label4",
                    OverdraftID      = overdraft.FirstOrDefault().ID,
                    Value            = 15,
                    ConceptPayment   = conceptPayment3
                },
                new OverdraftDetail()
                {
                    ID               = Guid.NewGuid(),
                    Active           = true,
                    company          = identityWorkId,
                    Timestamp        = DateTime.UtcNow,
                    InstanceID       = instanceID,
                    Description      = "Sobrerecibo",
                    CreationDate     = DateTime.Now,
                    Name             = "Sobrerecibo",
                    StatusID         = 1,
                    user             = Guid.NewGuid(),
                    ConceptPaymentID = conceptPayment4.ID,
                    Amount           = 150,
                    Taxed            = 2,
                    Exempt           = 3,
                    IMSSTaxed        = 4,
                    IMSSExempt       = 5,
                    Label1           = "Label1",
                    Label2           = "Label2",
                    Label3           = "Label3",
                    Label4           = "Label4",
                    OverdraftID      = overdraft.FirstOrDefault().ID,
                    Value            = 15,
                    ConceptPayment   = conceptPayment4
                }
            };

            overdraft.FirstOrDefault().OverdraftDetails = overdraftDetail;
            return(overdraft);
        }
コード例 #7
0
        public async Task <JsonResult> Save(Concept concept)
        {
            //siempre y cuando sea nuevo registro
            if (concept.Code <= 500 && !concept.ID.HasValue)
            {
                throw new CotorraException(106, "106", "No es posible crear conceptos menores a 500, están reservados por el sistema. ", null);
            }

            ConceptType ct;

            switch (concept.ConceptType)
            {
            case "P": ct = ConceptType.SalaryPayment; break;

            case "D": ct = ConceptType.DeductionPayment; break;

            case "L": ct = ConceptType.LiabilityPayment; break;

            default: ct = ConceptType.SalaryPayment; break;
            }

            var data = new ConceptPayment
            {
                //General
                Code               = concept.Code,
                Name               = concept.Name,
                SATGroupCode       = concept.SATGroupCode == null ? String.Empty : concept.SATGroupCode,
                GlobalAutomatic    = concept.GlobalAutomatic,
                AutomaticDismissal = concept.AutomaticDismissal,
                Kind               = concept.Kind,
                Print              = concept.Print,
                Description        = concept.Name,
                ConceptType        = ct,

                //Total
                Label   = concept.Label,
                Formula = concept.Formula,

                //Amount1
                Label1   = concept.Label1,
                Formula1 = concept.Formula1,

                //Amount2
                Label2   = concept.Label2,
                Formula2 = concept.Formula2,

                //Amount3
                Label3   = concept.Label3,
                Formula3 = concept.Formula3,

                //Amount4
                Label4   = concept.Label4,
                Formula4 = concept.Formula4,

                //Common
                Active       = true,
                company      = SessionModel.CompanyID,
                InstanceID   = SessionModel.InstanceID,
                CreationDate = DateTime.Now,
                StatusID     = 1,
                user         = SessionModel.IdentityID,
                Timestamp    = DateTime.Now,
            };

            if (concept.ConceptType == "P")
            {
                data.ConceptType = ConceptType.SalaryPayment;
            }
            else if (concept.ConceptType == "D")
            {
                data.ConceptType = ConceptType.DeductionPayment;
            }
            else if (concept.ConceptType == "L")
            {
                data.ConceptType = ConceptType.LiabilityPayment;
            }

            if (!concept.ID.HasValue)
            {
                //Save
                data.ID = Guid.NewGuid();
                await client.CreateAsync(new List <ConceptPayment> {
                    data
                }, SessionModel.IdentityID);
            }
            else
            {
                //Update
                data.ID = concept.ID.Value;
                await client.UpdateAsync(new List <ConceptPayment> {
                    data
                }, SessionModel.IdentityID);
            }

            return(Json(data.ID));
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
        }
コード例 #12
0
        public void Should_Create_Layout_Multiple_Overfrafts()
        {
            //Arrange
            string expected = "100001E0129202056000171742     01312020"
                              + Environment.NewLine
                              + "2000020000003ARRIAGA                       DARIO               JULIO                         11223344556     000000000000325580"
                              + Environment.NewLine
                              + "2000030000004VERA                          CASTRO              DOLORES                       12131415163     000000000000317400"
                              + Environment.NewLine
                              + "2000040000007LOPEZ                         SALAZAR             DANIEL                        12345678905     000000000000167200"
                              + Environment.NewLine
                              + "30000500003000000000000810180"
                              + Environment.NewLine;

            SantanderPaymentLayoutManager santanderLayout = new SantanderPaymentLayoutManager();
            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         = 3950.0m,
                Value          = 7,
            };

            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Todas deducciones",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 694.2m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);

            //Employee 1
            Employee  employee  = new Employee();
            Overdraft overdraft = new Overdraft();

            employee.RFC               = "ROSY7611053X8";
            employee.BankAccount       = "11223344556";
            employee.FirstLastName     = "Arriaga";
            employee.SecondLastName    = "Dario";
            employee.Name              = "Julio";
            employee.Code              = "3";
            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         = 3500.0m,
                Value          = 7,
            };

            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Bono",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 450m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);


            concept = new ConceptPayment
            {
                Name        = "IMSS",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 90.04m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "ISR",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 685.96m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);

            employee                   = new Employee();
            overdraft                  = new Overdraft();
            employee.RFC               = "REHE730714HG8";
            employee.BankAccount       = "12131415163";
            employee.FirstLastName     = "Vera";
            employee.SecondLastName    = "Castro";
            employee.Name              = "Dolores";
            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         = 1850.0m,
                Value          = 7,
            };

            overdraftDetails.Add(detail);


            concept = new ConceptPayment
            {
                Name        = "Todas deducciones",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 178.0m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);

            employee                   = new Employee();
            overdraft                  = new Overdraft();
            employee.RFC               = "BACF6710253V5";
            employee.BankAccount       = "12345678905";
            employee.FirstLastName     = "Lopez";
            employee.SecondLastName    = "Salazar";
            employee.Name              = "Daniel";
            employee.Code              = "00000007";
            overdraft.Employee         = employee;
            overdraft.OverdraftDetails = overdraftDetails;

            overdrafts.Add(overdraft);

            SantanderAdditionalInformation additionalInformation = new SantanderAdditionalInformation
            {
                GenerationDate     = new DateTime(2020, 1, 29),
                PaymentDate        = new DateTime(2020, 1, 31),
                CompanyBankAccount = "56000171742",
            };

            //Act
            string actual = santanderLayout.GenerateLayout(overdrafts, additionalInformation);

            //Assert
            Assert.Equal(expected, actual);
        }
コード例 #13
0
        public void Should_Create_Layout_Long_Employee_Name()
        {
            //Arrange
            string expected = "100001E0129202056000171742     01312020"
                              + Environment.NewLine
                              + "2000020000001BARRIENTOS DE DIOS DE LA CRUZ ARECHIGA DEL MONTE VMARIA JACARANDA ISABEL DE LA R12345678901     000000000000580780"
                              + Environment.NewLine
                              + "30000300001000000000000580780"
                              + Environment.NewLine;

            SantanderPaymentLayoutManager santanderLayout = new SantanderPaymentLayoutManager();
            List <Overdraft>       overdrafts             = new List <Overdraft>();
            List <OverdraftDetail> overdraftDetails       = new List <OverdraftDetail>();
            OverdraftDetail        detail;
            ConceptPayment         concept;


            //Salaries payments
            concept = new ConceptPayment
            {
                Name        = "Sueldo",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 6307.8m,
                Value          = 15,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Septimo día",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 500.0m,
                Value          = 1,
            };
            overdraftDetails.Add(detail);

            //Deducctions
            concept = new ConceptPayment
            {
                Name        = "IMSS",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 250.55m,
                Value          = 0,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "I.S.R. (mes)",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 749.45m,
                Value          = 0,
            };
            overdraftDetails.Add(detail);


            Employee  employee  = new Employee();
            Overdraft overdraft = new Overdraft();

            employee.RFC               = "ROSY7611053X8";
            employee.BankAccount       = "12345678901";
            employee.FirstLastName     = "Barrientos de Dios de la Cruz Bendita";
            employee.SecondLastName    = "Arechiga del Monte Verde";
            employee.Name              = "Maria Jacaranda Isabel de la Reyna";
            employee.Code              = "1";
            overdraft.Employee         = employee;
            overdraft.OverdraftDetails = overdraftDetails;

            overdrafts.Add(overdraft);

            SantanderAdditionalInformation additionalInformation = new SantanderAdditionalInformation
            {
                GenerationDate     = new DateTime(2020, 1, 29),
                PaymentDate        = new DateTime(2020, 1, 31),
                CompanyBankAccount = "56000171742",
            };

            //Act
            string actual = santanderLayout.GenerateLayout(overdrafts, additionalInformation);

            //Assert
            Assert.Equal(expected, actual);
        }
コード例 #14
0
        public void Should_Create_Layout_Long_Employee_Code()
        {
            //Arrange
            string expected = "100001E0129202056000171742     01312020"
                              + Environment.NewLine
                              + "2000020000001LOPEZ                         JIMENEZ             JOSE                          12345678901     000000000000580780"
                              + Environment.NewLine
                              + "30000300001000000000000580780"
                              + Environment.NewLine;

            SantanderPaymentLayoutManager santanderLayout = new SantanderPaymentLayoutManager();
            List <Overdraft>       overdrafts             = new List <Overdraft>();
            List <OverdraftDetail> overdraftDetails       = new List <OverdraftDetail>();
            OverdraftDetail        detail;
            ConceptPayment         concept;


            //Salaries payments
            concept = new ConceptPayment
            {
                Name        = "Sueldo",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 6307.8m,
                Value          = 15,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Septimo día",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 500.0m,
                Value          = 1,
            };
            overdraftDetails.Add(detail);

            //Deducctions
            concept = new ConceptPayment
            {
                Name        = "IMSS",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 250.55m,
                Value          = 0,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "I.S.R. (mes)",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 749.45m,
                Value          = 0,
            };
            overdraftDetails.Add(detail);


            Employee  employee  = new Employee();
            Overdraft overdraft = new Overdraft();

            employee.RFC               = "ROSY7611053X8";
            employee.BankAccount       = "12345678901";
            employee.FirstLastName     = "Lopez";
            employee.SecondLastName    = "Jimenez";
            employee.Name              = "JOSE";
            employee.Code              = "000000001";
            overdraft.Employee         = employee;
            overdraft.OverdraftDetails = overdraftDetails;

            overdrafts.Add(overdraft);

            SantanderAdditionalInformation additionalInformation = new SantanderAdditionalInformation
            {
                GenerationDate     = new DateTime(2020, 1, 29),
                PaymentDate        = new DateTime(2020, 1, 31),
                CompanyBankAccount = "56000171742",
            };

            //Act
            string actual = santanderLayout.GenerateLayout(overdrafts, additionalInformation);

            //Assert
            Assert.Equal(expected, actual);
        }
コード例 #15
0
        public void Should_Create_Layout_Multiple_Overfrafts()
        {
            //Arrange
            string expected = "44112266770000000325580Abono por nómina              Rodriguez Sanchez Ivan                  "
                              + Environment.NewLine
                              + "88997755440000000317400Abono por nómina              Renteria Huerta Ernesto                 "
                              + Environment.NewLine
                              + "77885566990000000167200Abono por nómina              Ballesteros Cruz Fermin Gonzalo         "
                              + Environment.NewLine;

            HSBCPaymentLayoutManager hsbcLayout       = new HSBCPaymentLayoutManager();
            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         = 3950.0m,
                Value          = 7,
            };

            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Todas deducciones",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 694.2m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);

            //Employee 1
            Employee  employee  = new Employee();
            Overdraft overdraft = new Overdraft();

            employee.RFC               = "ROSY7611053X8";
            employee.BankAccount       = "4411226677";
            employee.FirstLastName     = "Rodriguez";
            employee.SecondLastName    = "Sanchez";
            employee.Name              = "Ivan";
            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         = 3500.0m,
                Value          = 7,
            };

            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Bono",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 450m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);


            concept = new ConceptPayment
            {
                Name        = "IMSS",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 90.04m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "ISR",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 685.96m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);

            employee                   = new Employee();
            overdraft                  = new Overdraft();
            employee.RFC               = "REHE730714HG8";
            employee.BankAccount       = "8899775544";
            employee.FirstLastName     = "Renteria";
            employee.SecondLastName    = "Huerta";
            employee.Name              = "Ernesto";
            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         = 1850.0m,
                Value          = 7,
            };

            overdraftDetails.Add(detail);


            concept = new ConceptPayment
            {
                Name        = "Todas deducciones",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 178.0m,
                Value          = 0,
            };

            overdraftDetails.Add(detail);

            employee                   = new Employee();
            overdraft                  = new Overdraft();
            employee.RFC               = "BACF6710253V5";
            employee.BankAccount       = "7788556699";
            employee.FirstLastName     = "Ballesteros";
            employee.SecondLastName    = "Cruz";
            employee.Name              = "Fermin Gonzalo";
            overdraft.Employee         = employee;
            overdraft.OverdraftDetails = overdraftDetails;

            overdrafts.Add(overdraft);

            //Act
            string actual = hsbcLayout.GenerateLayout(overdrafts, null);

            //Assert
            Assert.Equal(expected, actual);
        }
コード例 #16
0
        public void Should_Create_Layout_Single_Overdraft_Long_BankAccount()
        {
            //Arrange
            string expected = "8899775533220000002402320Abono por nómina              Rodriguez Sanchez Ivan                  "
                              + Environment.NewLine;

            HSBCPaymentLayoutManager hsbcLayout       = new HSBCPaymentLayoutManager();
            List <Overdraft>         overdrafts       = new List <Overdraft>();
            List <OverdraftDetail>   overdraftDetails = new List <OverdraftDetail>();
            OverdraftDetail          detail;
            ConceptPayment           concept;


            //Salaries payments
            concept = new ConceptPayment
            {
                Name        = "Sueldo",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 3000.0m,
                Value          = 6,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Septimo día",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 500.0m,
                Value          = 1,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Reparto de utilidades",
                ConceptType = ConceptType.SalaryPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 25825.31m,
                Value          = 1,
            };
            overdraftDetails.Add(detail);

            //Deducctions
            concept = new ConceptPayment
            {
                Name        = "IMSS",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 148.3m,
                Value          = 0,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "I.S.R. Art142",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 4608.05m,
                Value          = 0,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "I.S.R. (mes)",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = 545.88m,
                Value          = 0,
            };
            overdraftDetails.Add(detail);

            concept = new ConceptPayment
            {
                Name        = "Ajuste al neto",
                ConceptType = ConceptType.DeductionPayment,
            };

            detail = new OverdraftDetail
            {
                ConceptPayment = concept,
                Amount         = -0.12m,
                Value          = 0,
            };
            overdraftDetails.Add(detail);


            Employee  employee  = new Employee();
            Overdraft overdraft = new Overdraft();

            employee.RFC               = "ROSY7611053X8";
            employee.BankAccount       = "889977553322";
            employee.FirstLastName     = "Rodriguez";
            employee.SecondLastName    = "Sanchez";
            employee.Name              = "Ivan";
            overdraft.Employee         = employee;
            overdraft.OverdraftDetails = overdraftDetails;

            overdrafts.Add(overdraft);

            //Act
            string actual = hsbcLayout.GenerateLayout(overdrafts, null);

            //Assert
            Assert.Equal(expected, actual);
        }