public string GetPersonalizedQuery(CotorriaStatus status, string keySplitted, params object[] parameters) { ApplySettlementProcessParams setparams = parameters[0] as ApplySettlementProcessParams; if (status == CotorriaStatus.Unregistered) { string dateUnchange = Convert.ToDateTime(setparams.SettlementEmployeeSeparationDate).ToString("yyyy-MM-dd 00:00:00.00"); return($"update Employee set LocalStatus = {(int)status}, LastStatusChange = getdate() , UnregisteredDate = '{dateUnchange}' where ID in ({keySplitted}) "); } return(string.Empty); }
public async Task <JsonResult> ApplySettlement(ApplySettlementProcessParams applySettlementParameters) { applySettlementParameters.InstanceID = SessionModel.InstanceID; applySettlementParameters.user = SessionModel.IdentityID; applySettlementParameters.IdentityWorkID = SessionModel.CompanyID; applySettlementParameters.LicenseServiceID = SessionModel.LicenseServiceID; applySettlementParameters.LicenseID = SessionModel.LicenseID; applySettlementParameters.AuthTkn = SessionModel.AuthorizationHeader; await settlementProcessClient.ApplySettlement(applySettlementParameters); return(Json("OK")); }
public async Task <ApplySettlementProcessResult> ApplySettlement(ApplySettlementProcessParams parameters) { var result = await ServiceHelperExtensions.CallRestServiceAsync(Format.JSON, RestMethod.POST, _authorizationHeader, new Uri($"{_cotorraUri}/ApplySettlement"), new object[] { parameters }).ContinueWith((i) => { if (i.Exception != null) { throw i.Exception; } return(i.Result); }); return(JsonConvert.DeserializeObject <ApplySettlementProcessResult>(result)); }
/// <summary> /// Applies the settlement. /// </summary> /// <param name="parameters">The parameters.</param> public async Task <ApplySettlementProcessResult> ApplySettlement(ApplySettlementProcessParams parameters) { var activeOverdraft = (await GetOverdrafts(parameters.EmployeeID, parameters.InstanceID, parameters.IdentityWorkID, parameters.PeriodDetailID, new List <OverdraftType>() { OverdraftType.Ordinary })); var mgr = new AuthorizationManager(); var overdrafts = new List <Guid>(); if (parameters.OrdinaryID != Guid.Empty) { overdrafts.Add(parameters.OrdinaryID); } if (parameters.OrdinaryID != Guid.Empty) { overdrafts.Add(parameters.IndemnizationOverID); } using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { if (parameters.ChangeOverdrafts) { await UpdateDetails(parameters.OrdinaryID, parameters.IndemnizationOverID, parameters.OrdinaryOverDetailsIDs, parameters.IndemnizationOverDetailsIDs, parameters.IdentityWorkID, parameters.InstanceID); } await mgr.AuthorizationByOverdraftAsync(new AuthorizationByOverdraftParams() { IdentityWorkID = parameters.IdentityWorkID, InstanceID = parameters.InstanceID, OverdraftIDs = overdrafts, user = parameters.user }); await UnregisterEmployee(parameters); await DeleteOverdrafts(activeOverdraft, parameters.IdentityWorkID); scope.Complete(); } return(new ApplySettlementProcessResult()); }
public async Task <ApplySettlementProcessResult> ApplySettlement(ApplySettlementProcessParams parameters) { SettlementProcessManager mgr = new SettlementProcessManager(); return(await mgr.ApplySettlement(parameters)); }
private async Task UnregisterEmployee(ApplySettlementProcessParams parameters) { var statusManager = new StatusManager <Employee>(new EmployeeValidator()); await statusManager.SetUnregistered(new List <Guid>() { parameters.EmployeeID }, parameters.IdentityWorkID, parameters); }
public Task <ApplySettlementProcessResult> ApplySettlement(ApplySettlementProcessParams parameters) { return(_client.ApplySettlement(parameters)); }