private async Task <JsonResult> SaveConfiguration(PayrollCompanyConfiguration data) { var lstPayrollCompanyConfig = new List <PayrollCompanyConfiguration>(); lstPayrollCompanyConfig.Add(data); await _clientConfiguration.UpdateAsync(lstPayrollCompanyConfig, SessionModel.CompanyID); return(Json(data)); }
public async Task <InitializationResult> InitializeAsync(string authTkn, Guid licenseServiceID, string socialReason, string RFC, PayrollCompanyConfiguration payrollCompanyConfiguration, EmployerRegistration employerRegistration) { var mgr = new InitializationManager(); return(await mgr.InitializeAsync(new InitializationParams { AuthTkn = authTkn, LicenseServiceID = licenseServiceID, SocialReason = socialReason, RFC = RFC, PayrollCompanyConfiguration = payrollCompanyConfiguration, EmployerRegistration = employerRegistration })); }
public async Task Should_Create_Delete() { using var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled); List <PayrollCompanyConfiguration> payrollCompanyConfigurations = new List <PayrollCompanyConfiguration>(); var identityWorkId = Guid.NewGuid(); //Fills the dummyData var payrollConfig = new PayrollCompanyConfiguration(); payrollConfig.Active = true; payrollConfig.company = identityWorkId; payrollConfig.CurrentExerciseYear = 2014; payrollConfig.ID = Guid.NewGuid(); payrollConfig.InstanceID = Guid.NewGuid(); payrollConfig.StartDate = new DateTime(2014, 1, 1).Date; payrollConfig.Timestamp = DateTime.Now; payrollConfig.user = Guid.Empty; payrollConfig.CurrencyID = Guid.NewGuid(); payrollConfig.CurrentPeriod = 1; payrollCompanyConfigurations.Add(payrollConfig); //Act var middlewareManager = new MiddlewareManager <PayrollCompanyConfiguration>(new BaseRecordManager <PayrollCompanyConfiguration>(), new PayrollCompanyConfigurationValidator()); await middlewareManager.CreateAsync(payrollCompanyConfigurations, identityWorkId); //Asserts //Get var result = await middlewareManager .GetByIdsAsync(payrollCompanyConfigurations.Select(p => p.ID).ToList(), identityWorkId); Assert.True(result.Any()); //Delete await middlewareManager.DeleteAsync(payrollCompanyConfigurations.Select(p => p.ID).ToList(), identityWorkId); Assert.True(result.FirstOrDefault().ID == payrollCompanyConfigurations.FirstOrDefault().ID); //Get it again to verify if the registry it was deleted var result2 = await middlewareManager .GetByIdsAsync(payrollCompanyConfigurations.Select(p => p.ID).ToList(), identityWorkId); Assert.True(!result2.Any()); }
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 async Task Should_Fail_When_company_Is_Empty() { using var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled); Client <PayrollCompanyConfiguration> client = new Client <PayrollCompanyConfiguration>("", ClientConfiguration.ClientAdapter.Local); List <PayrollCompanyConfiguration> payrollCompanyConfigurations = new List <PayrollCompanyConfiguration>(); var identityWorkId = Guid.Empty; //Fills the dummyData var payrollConfig = new PayrollCompanyConfiguration(); payrollConfig.Active = true; payrollConfig.company = identityWorkId; payrollConfig.CurrentExerciseYear = 2014; payrollConfig.ID = Guid.NewGuid(); payrollConfig.InstanceID = Guid.NewGuid(); payrollConfig.StartDate = new DateTime(2014, 1, 1).Date; payrollConfig.Timestamp = DateTime.Now; payrollConfig.user = Guid.Empty; payrollConfig.CurrencyID = Guid.NewGuid(); payrollCompanyConfigurations.Add(payrollConfig); try { await client.CreateAsync(payrollCompanyConfigurations, identityWorkId); } catch (AggregateException ex) { var resex = ex.InnerExceptions.First() as CotorraException; var res = resex.ValidationInfo; Assert.NotEmpty(res); Assert.Equal(1301, resex.ErrorCode); } catch (Exception ex) { var e = ex; } }
public async Task <InitializationResult> InitializeAsync(string authTkn, Guid licenseServiceID, string socialReason, string RFC, PayrollCompanyConfiguration payrollCompanyConfiguration, EmployerRegistration employerRegistration) { var createParmas = new InitializationParams() { AuthTkn = authTkn, LicenseServiceID = licenseServiceID, SocialReason = socialReason, RFC = RFC, PayrollCompanyConfiguration = payrollCompanyConfiguration, EmployerRegistration = employerRegistration }; string serializedResult = await ServiceHelperExtensions.CallRestServiceAsync(Format.JSON, RestMethod.POST, _authorizationHeader, new Uri($"{_cotorraUri}"), new object[] { createParmas }); if (!String.IsNullOrEmpty(serializedResult)) { return(JsonConvert.DeserializeObject <InitializationResult>(serializedResult)); } return(default);
public async Task <JsonResult> Create(CompanyCreateModel ccm, EmployerRegistrationController.EmployerRegistration er) { //Create payment periodicity PaymentPeriodicity pp; if (ccm.PeriodType == "Weekly") { pp = PaymentPeriodicity.Weekly; } else if (ccm.PeriodType == "BiWeekly") { pp = PaymentPeriodicity.Biweekly; } else { pp = PaymentPeriodicity.Monthly; } //Create employer registration EmployerRegistration employerRegistration = null; if (ccm.HasIMSS) { var employerRegistrationAddress = new Address { ID = Guid.NewGuid(), ZipCode = er.ZipCode, FederalEntity = er.FederalEntity, Municipality = er.Municipality, Reference = "", ExteriorNumber = "", InteriorNumber = "", Street = "", Suburb = "", //Common Name = String.Empty, Description = String.Empty, StatusID = 1, user = SessionModel.IdentityID, Timestamp = DateTime.Now, DeleteDate = null, Active = true, company = SessionModel.CompanyID, InstanceID = SessionModel.InstanceID, CreationDate = DateTime.Now, }; employerRegistration = new EmployerRegistration { ID = Guid.NewGuid(), Code = er.Code.ToUpper(), RiskClass = er.RiskClass, RiskClassFraction = er.RiskClassFraction, AddressID = employerRegistrationAddress.ID, Address = employerRegistrationAddress, //Common Active = true, company = SessionModel.CompanyID, InstanceID = SessionModel.InstanceID, CreationDate = DateTime.Now, Description = String.Empty, StatusID = 1, user = SessionModel.IdentityID, Timestamp = DateTime.Now, DeleteDate = null, Name = String.Empty, }; } //Create company and employer registration addresses var companyAddress = new Address { ID = Guid.NewGuid(), ZipCode = er.ZipCode, FederalEntity = er.FederalEntity, Municipality = er.Municipality, Reference = "", ExteriorNumber = "", InteriorNumber = "", Street = "", Suburb = "", //Common Name = String.Empty, Description = String.Empty, StatusID = 1, user = SessionModel.IdentityID, Timestamp = DateTime.Now, DeleteDate = null, Active = true, company = SessionModel.CompanyID, InstanceID = SessionModel.InstanceID, CreationDate = DateTime.Now, }; //Create payroll configuration var payrollConfiguration = new PayrollCompanyConfiguration() { //Step 1 RFC = ccm.CompanyRFC.ToUpper(), CURP = String.IsNullOrEmpty(ccm.CompanyCURP) ? "" : ccm.CompanyCURP.ToUpper(), SocialReason = ccm.CompanySocialReason, SalaryZone = Enum.Parse <SalaryZone>(ccm.SalaryZone), FiscalRegime = ccm.FiscalRegime, AddressID = companyAddress.ID, Address = companyAddress, CurrencyID = ccm.CurrencyID, //Step 2 //EmployerRegistration //Step 3 PaymentPeriodicity = pp, //This is used as PeriodType (...) CurrentExerciseYear = ccm.CurrentFiscalYear, PeriodInitialDate = ccm.InitialDate, CurrentPeriod = ccm.CurrentPeriod, //PeriodTotalDays = ccm.PeriodTotalDays, (internally calculated) PaymentDays = ccm.PaymentDays, WeeklySeventhDay = ccm.WeeklySeventhDay, AdjustmentPay = ccm.FortnightPaymentDays, NonDeducibleFactor = ccm.NonDeductibleFactor, //Step 4 CompanyInformation = ccm.CompanyInformation, ComercialName = ccm.ComercialName, CompanyScope = ccm.CompanyScope, CompanyBusinessSector = ccm.CompanyBusinessSector, CompanyCreationDate = ccm.CompanyCreationDate, CompanyWebSite = ccm.CompanyWebSite, Facebook = ccm.Facebook, Instagram = ccm.Instagram }; var res = await client.InitializeAsync( SessionModel.AuthorizationHeader, Guid.Parse(CommonUX.SecurityUX.DecryptString(ccm.LicenseServiceID)), ccm.CompanySocialReason, ccm.CompanyRFC.ToUpper(), payrollConfiguration, employerRegistration ); return(Json(new { CompanyID = CommonUX.SecurityUX.EncryptString(res.CompanyID.ToString(), SessionModel.EncryptKey), InstanceID = CommonUX.SecurityUX.EncryptString(res.InstanceID.ToString(), SessionModel.EncryptKey), LicenseID = CommonUX.SecurityUX.EncryptString(res.LicenseID.ToString(), SessionModel.EncryptKey), LicenseServiceID = CommonUX.SecurityUX.EncryptString(res.LicenseServiceID.ToString(), SessionModel.EncryptKey) })); }
public async Task <InitializationResult> InitializeAsync(string authTkn, Guid licenseServiceID, string socialReason, string RFC, PayrollCompanyConfiguration payrollCompanyConfiguration, EmployerRegistration employerRegistration) { return(await _client.InitializeAsync(authTkn, licenseServiceID, socialReason, RFC, payrollCompanyConfiguration, employerRegistration)); }