Ejemplo n.º 1
0
        private static Assignment ConvertToAssignment(DataRow row, PlannerDataSet.PlannerAssignmentsDataTable table)
        {
            Assignment assignment = new Assignment();

            assignment.Id = Convert.ToInt32(row[table.AssigmentIdColumn.ColumnName]);
            var driverId    = Convert.ToInt32(row[table.DriverIdColumn.ColumnName]);
            var cabId       = Convert.ToInt32(row[table.CabIdColumn.ColumnName]);
            var trailerId   = Convert.ToInt32(row[table.TrailerIdColumn.ColumnName]);
            var totalamount = Convert.ToInt32(row[table.TotalAmountColumn.ColumnName]);

            assignment.MessageOverAmount = row[table.MessageOverAmountColumn.ColumnName].ToString();

            if (string.IsNullOrEmpty(row[table.FactoryIdColumn.ColumnName].ToString()))
            {
                assignment.FactoryId = 0;
            }
            else
            {
                assignment.FactoryId = Convert.ToInt32(row[table.FactoryIdColumn.ColumnName].ToString());
            }
            assignment.TotalAmountAssigment = totalamount;

            var isRigid = cabId == trailerId;

            if (string.IsNullOrEmpty(row[table.TripIdColumn.ColumnName].ToString()))
            {
                assignment.TripId      = 0;
                assignment.FactoryName = "";
            }

            else
            {
                assignment.TripId = Convert.ToInt32(row[table.TripIdColumn.ColumnName]);

                assignment.FactoryName = GetFactoryName((int)assignment.FactoryId);
            }

            assignment.RoutesId = Convert.ToInt32(row[table.routesId6Column.ColumnName]);

            if (driverId > 0 && cabId > 0 && trailerId > 0)
            {
                Driver driver = new Driver()
                {
                    Id   = driverId,
                    Code = row[table.DriverCodeColumn.ColumnName].ToString(),
                    Name = row[table.DriverNameColumn.ColumnName].ToString(),
                };
                assignment.Driver = driver;


                Cab cab = new Cab()
                {
                    Id           = cabId,
                    Code         = row[table.CabCodeColumn.ColumnName].ToString(),
                    LicensePlate = row[table.CabLicensePlateColumn.ColumnName].ToString(),
                    VIN          = row[table.CabVINColumn.ColumnName].ToString(),
                    MaxWeight    = Convert.ToInt32(row[table.CabMaxWeightColumn.ColumnName])
                };
                cab.Location   = GetLastVehicleLocation(cab.Id);
                assignment.Cab = cab;


                Trailer trailer = new Trailer()
                {
                    Id           = trailerId,
                    Code         = row[table.TrailerCodeColumn.ColumnName].ToString(),
                    LicensePlate = row[table.TrailerLicensePlateColumn.ColumnName].ToString(),
                    VIN          = row[table.TrailerVINColumn.ColumnName].ToString(),
                    MaxWeight    = Convert.ToInt32(row[table.TrailerMaxWeightColumn.ColumnName]),
                    TankVolume   = Convert.ToInt32(row[table.TrailerTankVolumeColumn.ColumnName])
                };
                trailer.Location   = isRigid ? GetLastVehicleLocation(cab.Id) : cab.Location;
                assignment.Trailer = trailer;


                assignment.Date         = (DateTime)row[table.DateColumn.ColumnName];
                assignment.CreatedTime  = (DateTime)row[table.CreatedDateColumn.ColumnName];
                assignment.ModifiedDate = (DateTime)row[table.ModifiedDateColumn.ColumnName];
                assignment.Repeat       = (bool)row[table.RepeatColumn.ColumnName];
                assignment.Enabled      = (bool)row[table.EnabledColumn.ColumnName];
                //assignment.Observations = row[table.ObservationsColumn.ColumnName].ToString();
                return(assignment);
            }
            return(null);
        }
Ejemplo n.º 2
0
        private static Order ConvertToOrderFromPlanner(DataRow row, PlannerDataSet.PlannerAssignmentsDataTable table)
        {
            Order          order   = new Order();
            PlannerDataSet dataset = new PlannerDataSet();

            order.Id = Convert.ToInt64(row[table.OrderIdColumn.ColumnName]);

            order.Reference = row[table.ReferenceColumn.ColumnName].ToString();

            order.StartDate    = (DateTime)row[table.StartDateColumn.ColumnName];
            order.FinalDate    = (DateTime)row[table.FinalDateColumn.ColumnName];
            order.CreatedDate  = (DateTime)row[table.CreatedDateColumn.ColumnName];
            order.ModifiedDate = (DateTime)row[table.ModifiedDateColumn.ColumnName];

            if (string.IsNullOrEmpty(row[table.TripIdColumn.ColumnName].ToString()))
            {
                order.TripId = 0;
            }
            else
            {
                order.TripId = Convert.ToInt32(row[table.TripIdColumn.ColumnName].ToString());
            }


            order.HexColor = GetColorLoaded(Convert.ToInt32(order.TripId.ToString()));


            LocationData location = new LocationData();

            location.Address  = row[table.AddressColumn.ColumnName].ToString();
            location.City     = row[table.CityColumn.ColumnName].ToString();
            location.PostCode = row[table.PostCodeColumn.ColumnName].ToString();
            location.Province = row[table.ProvinceColumn.ColumnName].ToString();
            location.Country  = row[table.CountryColumn.ColumnName].ToString();


            float.TryParse(row[table.LatitudeColumn.ColumnName].ToString(), out float loc);
            location.Latitude = loc;

            float.TryParse(row[table.LongitudeColumn.ColumnName].ToString(), out loc);
            location.Longitude = loc;

            order.Location = location;

            Int32.TryParse(row[table.VehicleSizeColumn.ColumnName].ToString(), out int num);
            order.VehicleType = num;

            Int32.TryParse(row[table.RequestedAmountColumn.ColumnName].ToString(), out num);
            order.RequestedAmount = num;

            Int32.TryParse(row[table.ReceivedAmountColumn.ColumnName].ToString(), out num);
            order.ReceivedAmount = num;

            //si la cantidad recivida no tiene valor se coje la que se espera requestedAmount
            if (order.ReceivedAmount == 0)
            {
                Int32.TryParse(row[table.RequestedAmountColumn.ColumnName].ToString(), out num);
                order.ReceivedAmount = num;
            }

            //aqui
            order.TankNum    = row[table.TankNumColumn.ColumnName].ToString();
            order.TankVolume = row[table.TankVolumeColumn.ColumnName].ToString();
            order.TankLevel  = row[table.TankLevelColumn.ColumnName].ToString();
            order.Status     = row[table.StatusColumn.ColumnName] as int? ?? 0;
            //order.Description = row[table.DescriptionColumn.ColumnName].ToString();
            //order.Observations = row[table.ObservationsColumn.ColumnName].ToString();


            //operadores


            PlannerDataSetTableAdapters.OperatorsTableAdapter operatoradapter = new PlannerDataSetTableAdapters.OperatorsTableAdapter();
            PlannerDataSet.OperatorsDataTable dataTableOperators = operatoradapter.GetDataByOperatorId(Convert.ToInt32(row[table.OperatorIdColumn.ColumnName]));



            order.Operator = new Operator()
            {
                Id   = Convert.ToInt32(row[table.OperatorIdColumn.ColumnName]),
                Code = dataTableOperators.Rows[0]["Code"].ToString(),
                Name = dataTableOperators.Rows[0]["Name"].ToString(),
                Cif  = dataTableOperators.Rows[0]["Cif"].ToString(),

                Location = new LocationData()
                {
                    Address  = dataTableOperators.Rows[0]["Address"].ToString(),
                    City     = dataTableOperators.Rows[0]["City"].ToString(),
                    PostCode = dataTableOperators.Rows[0]["PostCode"].ToString(),
                    Province = dataTableOperators.Rows[0]["Province"].ToString(),
                    Country  = dataTableOperators.Rows[0]["Country"].ToString(),
                },

                Contact = new ContactData()
                {
                    Name        = dataTableOperators.Rows[0]["Name"].ToString(),
                    Phone       = dataTableOperators.Rows[0]["Phone"].ToString(),
                    Phone2      = dataTableOperators.Rows[0]["Phone2"].ToString(),
                    PhoneMobile = dataTableOperators.Rows[0]["PhoneMobile"].ToString(),
                    Fax         = dataTableOperators.Rows[0]["Fax"].ToString(),
                    Email       = dataTableOperators.Rows[0]["Email"].ToString()
                },


                Enabled = (bool)dataTableOperators.Rows[0]["Enabled"],
                //Observations = row[table.ClientObservationsColumn.ColumnName].ToString(),
            };


            //clientes

            PlannerDataSetTableAdapters.ClientsTableAdapter adapter = new PlannerDataSetTableAdapters.ClientsTableAdapter();
            PlannerDataSet.ClientsDataTable dataTableClients        = adapter.GetDataByIdClient(Convert.ToInt32(row[table.ClientIdColumn.ColumnName]));

            order.Client = new Client()
            {
                Id   = Convert.ToInt32(dataTableClients.Rows[0]["Id"].ToString()),
                Code = dataTableClients.Rows[0]["Code"].ToString(),
                Name = dataTableClients.Rows[0]["Name"].ToString(),
                Cif  = dataTableClients.Rows[0]["Cif"].ToString(),

                Location = new LocationData()
                {
                    Address  = dataTableClients.Rows[0]["Address"].ToString(),
                    City     = dataTableClients.Rows[0]["City"].ToString(),
                    PostCode = dataTableClients.Rows[0]["PostCode"].ToString(),
                    Province = dataTableClients.Rows[0]["Province"].ToString(),
                    Country  = dataTableClients.Rows[0]["Country"].ToString(),

                    Latitude  = (float)dataTableClients.Rows[0]["Latitude"],
                    Longitude = (float)dataTableClients.Rows[0]["Longitude"],
                },

                Contact = new ContactData()
                {
                    Name        = dataTableClients.Rows[0]["Name"].ToString(),
                    Phone       = dataTableClients.Rows[0]["Phone"].ToString(),
                    Phone2      = dataTableClients.Rows[0]["Phone2"].ToString(),
                    PhoneMobile = dataTableClients.Rows[0]["PhoneMobile"].ToString(),
                    Fax         = dataTableClients.Rows[0]["Fax"].ToString(),
                    Email       = dataTableClients.Rows[0]["Email"].ToString()
                },


                Enabled = (bool)dataTableClients.Rows[0]["Enabled"],
                //Observations = row[table.ClientObservationsColumn.ColumnName].ToString(),
            };


            //factorias

            PlannerDataSetTableAdapters.FactoriesTableAdapter factoryadapter = new PlannerDataSetTableAdapters.FactoriesTableAdapter();
            PlannerDataSet.FactoriesDataTable factory = factoryadapter.GetDataByIdFactory(Convert.ToInt32(row[table.FactoryIdColumn.ColumnName]));


            order.Factory = new Factory()
            {
                Id   = Convert.ToInt32(factory.Rows[0]["Id"].ToString()),
                Code = factory.Rows[0]["Code"].ToString(),
                Name = factory.Rows[0]["Name"].ToString(),

                HexColor = GetColorFactory(Convert.ToInt32(row[table.FactoryIdColumn.ColumnName].ToString())),

                Location = new LocationData()
                {
                    Address  = factory.Rows[0]["Address"].ToString(),
                    City     = factory.Rows[0]["City"].ToString(),
                    PostCode = factory.Rows[0]["PostCode"].ToString(),
                    Province = factory.Rows[0]["Province"].ToString(),
                    Country  = factory.Rows[0]["Country"].ToString(),

                    Latitude  = (float)factory.Rows[0]["Latitude"],
                    Longitude = (float)factory.Rows[0]["Longitude"],
                },


                Enabled = (bool)factory.Rows[0]["Enabled"],
                //Observations = row[table.FactoryObservationsColumn.ColumnName].ToString(),
            };

            //producto
            PlannerDataSetTableAdapters.ProductsTableAdapter productsadapter = new PlannerDataSetTableAdapters.ProductsTableAdapter();
            PlannerDataSet.ProductsDataTable product = productsadapter.GetDataProductId(Convert.ToInt32(row[table.ProductIdColumn.ColumnName]));

            order.Product = new Product()
            {
                Id   = Convert.ToInt32(product.Rows[0]["Id"].ToString()),
                Code = product.Rows[0]["Code"].ToString(),
                Name = product.Rows[0]["Name"].ToString(),

                Density     = 4,
                MeasureUnit = 4,
            };


            order.SizeName = VehicleType.GetVehicleSizeName((int)order.VehicleType);

            //actualizamos el estado del pedido a planificado
            //UpdateStatusOrders(order.Id);


            return(order);
        }