示例#1
0
        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));
        }
示例#2
0
        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));
        }