T IIntegrate <T> .Save(string jsonKeys, ParamsIntegrateErp configErp, List <Object> parameterAditional) { VehicleIntegrate vehicleIntegrate = null; Vehicles vehicles = null; CustomerIntegrate customerParam = null; InsuranceCompanyIntegrate integrateinsuranceCompany = null; InsuranceCompanyIntegrate insuranceCompanyParam = null; int?mileageParam = null; if (Enum.TryParse(configErp.DllType, out ErpsTypes dllType)) { vehicles = DataAccesErpContract.GetVehicle(jsonKeys, dllType, configErp.ConfigParamsToErp, out List <Tuple <Type, string> > listOtherAccionPreIntegrate); if (vehicles != null) { integrateinsuranceCompany = UtilsIIntegrateErpToSystime.IntegrateOtherTypes <InsuranceCompanyIntegrate>(listOtherAccionPreIntegrate, configErp, null); insuranceCompanyParam = UtilsIIntegrateErpToSystime.ResolveTypeParameter <InsuranceCompanyIntegrate>(parameterAditional); customerParam = UtilsIIntegrateErpToSystime.ResolveTypeParameter <CustomerIntegrate>(parameterAditional); mileageParam = UtilsIIntegrateErpToSystime.ResolveTypeParameter <int>(parameterAditional); if (customerParam?.CustomerSystime?.IdCustomer > 0 && customerParam?.CustomerSystime?.IdCustomer != vehicles.IdCustomerOwner) { vehicles.IdCustomerOwner = customerParam.CustomerSystime.IdCustomer; } if (mileageParam.HasValue && mileageParam.Value > vehicles.LastMileage) { vehicles.LastMileage = mileageParam.Value; } if (insuranceCompanyParam?.InsuranceCompnaySystime?.IdInsuranceCompany != null && insuranceCompanyParam?.InsuranceCompnaySystime?.IdInsuranceCompany != integrateinsuranceCompany?.InsuranceCompnaySystime?.IdInsuranceCompany) { integrateinsuranceCompany = insuranceCompanyParam; } vehicles.IdInsuranceCompany = integrateinsuranceCompany?.InsuranceCompnaySystime.IdInsuranceCompany; vehicles = new VehiclesSystime(configErp.ConectionStringToSystime).SaveVehicle(vehicles, configErp.UserModify); if (vehicles != null) { vehicleIntegrate = new VehicleIntegrate() { VehicleSystime = vehicles }; if (configErp.SaveInAzure) { List <Object> modelsParams = new List <object>(); if (insuranceCompanyParam?.InsuranceCompnayUbicar != null) { modelsParams.Add(insuranceCompanyParam?.InsuranceCompnayUbicar); } if (customerParam?.CustomerUbicar != null) { modelsParams.Add(customerParam?.CustomerUbicar); } vehicleIntegrate.VehicleUbicar = SaveInAzure(vehicles, modelsParams, configErp); } } ; } } if (vehicleIntegrate != null) { return((T)Convert.ChangeType(vehicleIntegrate, typeof(T))); } return(default(T)); }
private T Saving(WorkOrders workOrder, List <Tuple <Type, String> > listOtherAccionPreIntegrate, ParamsIntegrateErp configErp) { WorkOrderIntegrate workOrderIntegrate = null; InsuranceCompanyIntegrate integrateinsuranceCompany = null; CustomerIntegrate integrateCustoemr = null; WorkerIntegrate integrateWorker = null; DealerShopIntegrate integrateDalerShop = null; VehicleIntegrate vehicleIntegrate = null; int milageWorkOrder = 0; if (workOrder != null) { integrateinsuranceCompany = UtilsIIntegrateErpToSystime.IntegrateOtherTypes <InsuranceCompanyIntegrate>(listOtherAccionPreIntegrate, configErp, null); integrateCustoemr = UtilsIIntegrateErpToSystime.IntegrateOtherTypes <CustomerIntegrate>(listOtherAccionPreIntegrate, configErp, null); integrateDalerShop = UtilsIIntegrateErpToSystime.IntegrateOtherTypes <DealerShopIntegrate>(listOtherAccionPreIntegrate, configErp, null); List <Object> paramsFromWorker = new List <object> { integrateDalerShop }; integrateWorker = UtilsIIntegrateErpToSystime.IntegrateOtherTypes <WorkerIntegrate>(listOtherAccionPreIntegrate, configErp, paramsFromWorker); milageWorkOrder = UtilsIIntegrateErpToSystime.SearchValueFromType <int>(listOtherAccionPreIntegrate); List <Object> paramsFromVehicle = new List <object> { integrateinsuranceCompany, milageWorkOrder, integrateCustoemr }; vehicleIntegrate = UtilsIIntegrateErpToSystime.IntegrateOtherTypes <VehicleIntegrate>(listOtherAccionPreIntegrate, configErp, paramsFromVehicle); if (integrateCustoemr?.CustomerSystime != null && integrateWorker?.WokerSystime != null && integrateDalerShop?.DealerShopSystime != null) { workOrder.IdVinNumber = vehicleIntegrate?.VehicleSystime?.IdVinNumber; workOrder.IdSalesRepresentative = integrateWorker?.WokerSystime?.IdWorker; workOrder.IdDealerShop = integrateDalerShop?.DealerShopSystime?.IdDealerShop; workOrder.IdInsuranceCompany = integrateinsuranceCompany?.InsuranceCompnaySystime?.IdInsuranceCompany; workOrder.IdCustomer = integrateCustoemr?.CustomerSystime?.IdCustomer ?? 0; workOrder = new WorOrdersSystime(configErp.ConectionStringToSystime).SaveWorkOrder(workOrder, configErp.UserModify); if (workOrder != null) { new WorkOrderLoadErrorLogSystime(configErp.ConectionStringToSystime).DeleteWorkOrderError(workOrder.WorkOrderNumber, workOrder.IdDealerShop); workOrderIntegrate = new WorkOrderIntegrate() { WorkOrderSystime = workOrder }; if (configErp.SaveInAzure) { List <Object> modelsParams = new List <object>(); if (integrateinsuranceCompany?.InsuranceCompnayUbicar != null) { modelsParams.Add(integrateinsuranceCompany?.InsuranceCompnayUbicar); } if (integrateCustoemr?.CustomerUbicar != null) { modelsParams.Add(integrateCustoemr?.CustomerUbicar); } if (integrateDalerShop?.DealerShopUbicar != null) { modelsParams.Add(integrateDalerShop?.DealerShopUbicar); } if (vehicleIntegrate?.VehicleUbicar != null) { modelsParams.Add(vehicleIntegrate?.VehicleUbicar); } if (integrateWorker?.WorkerUbicar != null) { modelsParams.Add(integrateWorker?.WorkerUbicar); } workOrderIntegrate.WorkOrderUbicar = SaveInAzure(workOrder, modelsParams, configErp); } } } else if (workOrder != null) { new WorkOrderLoadErrorLogSystime(configErp.ConectionStringToSystime).SaveWorkOrderError(new WorkOrderLoadErrorLog() { idCustomerOT = workOrder.IdCustomer.ToString(), idVehicle = workOrder.IdVinNumber, IdWorkOrderNumberErp = workOrder.WorkOrderNumber, idDealerShopOtErp = workOrder.IdDealerShop, idWorkerOT = workOrder.WorkOrderNumber, }, configErp.UserModify); } if (workOrderIntegrate != null) { return((T)Convert.ChangeType(workOrderIntegrate, typeof(T))); } } return(default(T)); }