public async Task <IActionResult> Merge([FromBody] ConsolidateMergeRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var mergeResponse = await consolidateService.MergeLoads(request, userService.getUserName(User.Claims)); if (!mergeResponse.isMerged) { return(BadRequest(mergeResponse)); } return(Ok(mergeResponse)); }
public async Task <ConsolidateMergeResponse> MergeLoads(ConsolidateMergeRequest request, string userName) { var mergeResponse = new ConsolidateMergeResponse(); if (!userService.isUserMemberOfGroup(_config.UserServiceConfig.UserRoutes[2].group, userName)) { mergeResponse.isMerged = false; mergeResponse.message.Add(String.Format(_config.UserServiceConfig.accountMessages[2], userName, _config.UserServiceConfig.UserRoutes[2].header)); } if (mergeResponse.isMerged) { //load1,load2 var loads_commaS = String.Join(_config.ConsolidateConfig.mergeHelper[0], request.consolidatedLoads); //load1','load2 var loads_quote_comma = String.Join(_config.ConsolidateConfig.mergeHelper[1], request.consolidatedLoads); // Run main SP await consolidateRepository.runConsolidateMergeMain(String.Format(_config.ConsolidateConfig.mainStoredProcedures[1], loads_commaS, userName)); // Check in ErrorLogTable var consolidateErrorLogTables = await consolidateRepository.runConsolidateErrorTb(String.Format(_config.ConsolidateConfig.errorLogTables[1], loads_commaS, loads_quote_comma)); // Check in SuccessLogTable if (consolidateErrorLogTables.Count == 0) { var consolidateSuccessLogTables = await consolidateRepository.runConsolidateSuccessTb(String.Format(_config.ConsolidateConfig.successLogTables[1], loads_quote_comma)); if (consolidateSuccessLogTables.Count > 0) { mergeResponse.isMerged = true; mergeResponse.message.Add(String.Format(_config.ConsolidateConfig.successLogTableMessages[0], loads_commaS, consolidateSuccessLogTables[0].dtstamp, consolidateSuccessLogTables[0].TMWMove)); } else { mergeResponse.isMerged = false; mergeResponse.message.Add(String.Format(_config.ConsolidateConfig.successLogTableMessages[1], loads_commaS)); } } else { mergeResponse.isMerged = false; mergeResponse.message.Add(consolidateErrorLogTables[0].ErrorString); } } return(mergeResponse); }