Exemplo n.º 1
0
        public override async Task <ChangeRequestStagingModel <Vehicle> > GetChangeRequestStaging <TId>(TId changeRequestId)
        {
            ChangeRequestStagingModel <Vehicle> staging = await
                                                          ChangeRequestBusinessService.GetChangeRequestStagingByChangeRequestIdAsync <Vehicle, TId>(changeRequestId);

            return(staging);
        }
Exemplo n.º 2
0
        public override async Task <ChangeRequestStagingModel <BodyNumDoors> > GetChangeRequestStaging <TId>(TId changeRequestId)
        {
            ChangeRequestStagingModel <BodyNumDoors> staging =
                await ChangeRequestBusinessService.GetChangeRequestStagingByChangeRequestIdAsync <BodyNumDoors, TId>(changeRequestId);

            return(staging);
        }
        public override async Task <ChangeRequestStagingModel <BedType> > GetChangeRequestStaging <TId>(TId changeRequestId)
        {
            ChangeRequestStagingModel <BedType> staging =
                await ChangeRequestBusinessService.GetChangeRequestStagingByChangeRequestIdAsync <BedType, TId>(changeRequestId);

            //if (!staging.StagingItem.ChangeType.Equals(ChangeType.Add.ToString(), StringComparison.CurrentCultureIgnoreCase))
            //{
            //    BrakeType currentBrakeType = await FindAsync(staging.StagingItem.EntityId);
            //    staging.EntityCurrent = currentBrakeType;
            //}

            return(staging);
        }
Exemplo n.º 4
0
        public override async Task <ChangeRequestStagingModel <Region> > GetChangeRequestStaging <TId>(TId changeRequestId)
        {
            ChangeRequestStagingModel <Region> staging = await
                                                         ChangeRequestBusinessService.GetChangeRequestStagingByChangeRequestIdAsync <Region, TId>(changeRequestId);

            // business specific task.
            // fill value of "EntityCurrent"
            //if (!staging.StagingItem.ChangeType.Equals(ChangeType.Add.ToString(), StringComparison.CurrentCultureIgnoreCase))
            //{
            //    Region currentModel = await FindAsync(staging.StagingItem.EntityId);
            //    staging.EntityCurrent = currentModel;
            //}
            return(staging);
        }
Exemplo n.º 5
0
        public override async Task <ChangeRequestStagingModel <VehicleToDriveType> > GetChangeRequestStaging <TId>(
            TId changeRequestId)
        {
            ChangeRequestStagingModel <VehicleToDriveType> staging =
                await
                ChangeRequestBusinessService.GetChangeRequestStagingByChangeRequestIdAsync <VehicleToDriveType, TId>(
                    changeRequestId);

            //if (
            //    !staging.StagingItem.ChangeType.Equals(ChangeType.Add.ToString(),
            //        StringComparison.CurrentCultureIgnoreCase))
            //{
            //    VehicleToMfrBodyCode currentVehicleToMfrBodyCode = await FindAsync(staging.StagingItem.EntityId);
            //    staging.EntityCurrent = currentVehicleToBodyCode;
            //}
            return(staging);
        }
Exemplo n.º 6
0
        public new async Task <DriveTypeChangeRequestStagingModel> GetChangeRequestStaging <TId>(TId changeRequestId)
        {
            var result = await
                         ChangeRequestBusinessService.GetChangeRequestStagingByChangeRequestIdAsync <DriveType, TId>(changeRequestId);

            List <VehicleToDriveType> vehicleToDriveTypes = null;

            if (result.StagingItem.ChangeType == ChangeType.Replace.ToString())
            {
                result.EntityStaging = result.EntityCurrent;
                var changeRequestIdLong = Convert.ToInt64(changeRequestId);
                var vehicleToDriveTypeChangeRequestItems = await this.ChangeRequestBusinessService.GetChangeRequestItemStagingsAsync(item => item.ChangeRequestId == changeRequestIdLong);

                if (vehicleToDriveTypeChangeRequestItems != null && vehicleToDriveTypeChangeRequestItems.Any())
                {
                    var vehicleToDriveTypeIds = vehicleToDriveTypeChangeRequestItems.Select(item => Convert.ToInt32(item.EntityId)).ToList();
                    vehicleToDriveTypes = await base.Repositories.GetRepositoryService <VehicleToDriveType>()
                                          .GetAsync(item => vehicleToDriveTypeIds.Any(id => id == item.Id) && item.DeleteDate == null);

                    //1. Extract the replacement DriveType to DriveTypeid from the first deserialized vehicleToDriveTypeChangeRequestItems
                    var vehicleToDriveType = Serializer.Deserialize <VehicleToDriveType>(vehicleToDriveTypeChangeRequestItems[0].Payload);

                    //2. fill result.EntityStaging with the replacement DriveType details
                    result.EntityStaging = await FindAsync(vehicleToDriveType.DriveTypeId);

                    // 3. fill currentEntity
                    result.EntityCurrent = await FindAsync(result.StagingItem.EntityId);
                }
                else
                {
                    var vehicleToDriveTypeChangeRequestStoreItems = await this.ChangeRequestBusinessService.GetChangeRequestItemAsync(item =>
                                                                                                                                      item.ChangeRequestId == changeRequestIdLong);

                    if (vehicleToDriveTypeChangeRequestStoreItems != null && vehicleToDriveTypeChangeRequestStoreItems.Any())
                    {
                        var vehicleToDriveTypeIds = vehicleToDriveTypeChangeRequestStoreItems.Select(item => Convert.ToInt32(item.EntityId)).ToList();
                        vehicleToDriveTypes =
                            await
                            base.Repositories.GetRepositoryService <VehicleToDriveType>()
                            .GetAsync(item => vehicleToDriveTypeIds.Any(id => id == item.Id) && item.DeleteDate == null);

                        //1. Extract the replacement base vehicle id from the first deserialized vehicleChangeRequestItems
                        var vehicleToDriveType = Serializer.Deserialize <VehicleToDriveType>(vehicleToDriveTypeChangeRequestStoreItems[0].Payload);

                        //2. fill result.EntityStaging with the replacement base vehicle details
                        result.EntityStaging = await FindAsync(vehicleToDriveType.DriveTypeId);

                        // 3. fill currentEntity
                        result.EntityCurrent = await FindAsync(result.StagingItem.EntityId);
                    }
                }
            }

            DriveTypeChangeRequestStagingModel staging = new DriveTypeChangeRequestStagingModel
            {
                EntityCurrent = result.EntityCurrent,
                EntityStaging = result.EntityStaging,
                //RequestorComments = result.RequestorComments,
                //ReviewerComments = result.ReviewerComments,
                Comments    = result.Comments,
                StagingItem = result.StagingItem,
                ReplacementVehicleToDriveTypes = vehicleToDriveTypes,
                Attachments = result.Attachments
            };

            return(staging);
        }
Exemplo n.º 7
0
        public new async Task <BaseVehicleChangeRequestStagingModel> GetChangeRequestStaging <TId>(TId changeRequestId)
        {
            var result = await
                         ChangeRequestBusinessService.GetChangeRequestStagingByChangeRequestIdAsync <BaseVehicle, TId>(changeRequestId);

            // business specific task.
            // fill value of "EntityCurrent"
            //if (!result.StagingItem.ChangeType.Equals(ChangeType.Add.ToString(), StringComparison.CurrentCultureIgnoreCase))
            //{
            //    result.EntityCurrent = await FindAsync(result.StagingItem.EntityId);
            //}

            List <Vehicle> vehicles = null;

            if (result.StagingItem.ChangeType == ChangeType.Replace.ToString())
            {
                var changeRequestIdLong       = Convert.ToInt64(changeRequestId);
                var vehicleChangeRequestItems = await this.ChangeRequestBusinessService.GetChangeRequestItemStagingsAsync(item => item.ChangeRequestId == changeRequestIdLong);

                if (vehicleChangeRequestItems != null && vehicleChangeRequestItems.Any())
                {
                    var vehicleIds = vehicleChangeRequestItems.Select(item => Convert.ToInt32(item.EntityId)).ToList();
                    vehicles =
                        await
                        base.Repositories.GetRepositoryService <Vehicle>()
                        .GetAsync(item => vehicleIds.Any(id => id == item.Id) && item.DeleteDate == null);

                    //1. Extract the replacement base vehicle id from the first deserialized vehicleChangeRequestItems
                    var vehicle = Serializer.Deserialize <Vehicle>(vehicleChangeRequestItems[0].Payload);

                    //2. fill result.EntityStaging with the replacement base vehicle details
                    result.EntityStaging = await FindAsync(vehicle.BaseVehicleId);

                    // 3. fill currentEntity
                    result.EntityCurrent = await FindAsync(result.StagingItem.EntityId);

                    //NOTE: vehicles will have existing base vehicle id, replacement base vehicle id can be found only in deserialized vehicle
                    //foreach (var item in vehicleChangeRequestItems)
                    //{
                    //    vehicles.Add(Serializer.Deserialize<Vehicle>(item.Payload));
                    //}
                }
                else
                {
                    var vehicleChangeRequestStoreItems = await this.ChangeRequestBusinessService.GetChangeRequestItemAsync(item =>
                                                                                                                           item.ChangeRequestId == changeRequestIdLong);

                    if (vehicleChangeRequestStoreItems != null && vehicleChangeRequestStoreItems.Any())
                    {
                        var vehicleIds = vehicleChangeRequestStoreItems.Select(item => Convert.ToInt32(item.EntityId)).ToList();
                        vehicles =
                            await
                            base.Repositories.GetRepositoryService <Vehicle>()
                            .GetAsync(item => vehicleIds.Any(id => id == item.Id) && item.DeleteDate == null);

                        //1. Extract the replacement base vehicle id from the first deserialized vehicleChangeRequestItems
                        var vehicle = Serializer.Deserialize <Vehicle>(vehicleChangeRequestStoreItems[0].Payload);

                        //2. fill result.EntityStaging with the replacement base vehicle details
                        result.EntityStaging = await FindAsync(vehicle.BaseVehicleId);

                        // 3. fill currentEntity
                        result.EntityCurrent = await FindAsync(result.StagingItem.EntityId);
                    }
                }
            }

            BaseVehicleChangeRequestStagingModel staging = new BaseVehicleChangeRequestStagingModel
            {
                EntityCurrent = result.EntityCurrent,
                EntityStaging = result.EntityStaging,
                //RequestorComments = result.RequestorComments,
                //ReviewerComments = result.ReviewerComments,
                Comments            = result.Comments,
                StagingItem         = result.StagingItem,
                ReplacementVehicles = vehicles,
                Attachments         = result.Attachments
            };

            return(staging);
        }