public bool ProcessCarPart(string appUserId, AnswerBm bm)
        {
            var vehicleServiceEntity =
                this.vehicleService.GetAllVehicleServices()
                .FirstOrDefault(x => x.ServiceMembers.Any(m => m.ApplicationUser.Id == appUserId));

            var carPartEntity = this.carService.GetCarPartById(bm.Id);

            if (vehicleServiceEntity == null || carPartEntity == null || carPartEntity.VehicleServiceId != vehicleServiceEntity.Id)
            {
                return(false);
            }

            if (bm.IsAccepted)
            {
                carPartEntity.IsSeenByVehicleService     = true;
                carPartEntity.IsApprovedByVehicleService = true;
                carPartEntity.VehicleService             = vehicleServiceEntity;
                carPartEntity.VehicleServiceId           = vehicleServiceEntity.Id;

                vehicleServiceEntity.CarParts.Add(carPartEntity);
            }
            else
            {
                carPartEntity.IsSeenByVehicleService = true;
            }

            return(this.carService.Update());
        }
Exemple #2
0
        public JsonResult ProcessServiceVote(AnswerBm bm)
        {
            if (bm.Id < 1 || string.IsNullOrWhiteSpace(bm.Message))
            {
                return(new JsonResult()
                {
                    Data = new ResultDto("Request contain invalid data!")
                });
            }

            bool isProcessed = this.vehicleServiceManager.ProcessVote(bm, this.GetAppUserId);

            if (!isProcessed)
            {
                return(new JsonResult()
                {
                    Data = new ResultDto("Cannot process the vote!")
                });
            }

            int rating = this.vehicleServiceManager.GetRating(bm.Id);

            return(new JsonResult()
            {
                Data = new ResultDto(rating.ToString(), true)
            });
        }
Exemple #3
0
        public JsonResult ProcessingServicedParts(AnswerBm bm)
        {
            if (bm.Id < 1)
            {
                return(new JsonResult()
                {
                    Data = new ResultDto("Cannot process request!")
                });
            }

            bool isProcessed = this.vehicleServiceManager.ProcessCarPart(this.GetAppUserId, bm);

            if (!isProcessed)
            {
                return(new JsonResult()
                {
                    Data = new ResultDto("Cannot process request!")
                });
            }

            var elementId = "#carpart-request-" + bm.Id;

            return(new JsonResult()
            {
                Data = new ResultDto(elementId, true)
            });
        }
        public JsonResult MembershipInvitation(AnswerBm bm)
        {
            if (!this.ModelState.IsValid)
            {
                return(new JsonResult()
                {
                    Data = new ResultDto("Cannot process request!")
                });
            }

            var appUserId = this.User.Identity.GetUserId();

            bool isProccessed = this.myUserManager.ProcessMembershipInvitation(bm, appUserId);

            if (!isProccessed)
            {
                return(new JsonResult()
                {
                    Data = new ResultDto("Cannot process request!")
                });
            }

            var msg = "#membership-invitation-" + bm.Id;

            return(new JsonResult()
            {
                Data = new ResultDto(msg, true)
            });;
        }
        public bool ProcessMembershipInvitation(AnswerBm bm, string appUserId)
        {
            var membershipInvitation = this.commonService.GetMembershipInvitationById(bm.Id);

            if (membershipInvitation == null)
            {
                return(false);
            }

            var user =
                this.userService.GetAllUsers().FirstOrDefault(x => x.ApplicationUser.Email == membershipInvitation.MemberEmail);

            if (user == null)
            {
                return(false);
            }

            // check is it same user or same invitation
            if (user.ApplicationUserId != appUserId)
            {
                return(false);
            }

            var vehicleServiceEntity = this.vehicleService.GetVehiceService(membershipInvitation.VehicleServiceId);

            if (vehicleServiceEntity == null)
            {
                return(false);
            }

            if (user.VehicleServiceId == vehicleServiceEntity.Id)
            {
                return(false);
            }

            if (bm.IsAccepted)
            {
                user.VehicleService   = vehicleServiceEntity;
                user.VehicleServiceId = vehicleServiceEntity.Id;
                vehicleServiceEntity.ServiceMembers.Add(user);
                membershipInvitation.IsAccepted = true;
                membershipInvitation.IsDeleted  = true;
            }
            else
            {
                membershipInvitation.IsAccepted = false;
                membershipInvitation.IsDeleted  = true;
            }

            var isUpdated = this.userService.Update();

            if (!isUpdated)
            {
                return(false);
            }

            return(true);
        }
        public bool ProcessVote(AnswerBm bm, string appUserId)
        {
            var vsEntity = this.vehicleService.GetVehiceService(bm.Id);

            if (vsEntity == null)
            {
                return(false);
            }

            var serviceRating = vsEntity.ServiceRatings.FirstOrDefault(x => x.VehicleServiceId == vsEntity.Id && !x.IsDeleted && x.User.ApplicationUserId == appUserId);

            var user = this.userService.GetUserByAppId(appUserId);

            if (user == null)
            {
                return(false);
            }

            if (serviceRating != null)
            {
                serviceRating.IsDeleted = true;
                var isUpdated = this.vehicleService.Update();

                if (!isUpdated)
                {
                    return(false);
                }
            }

            var newServiceRating = new ServiceRating()
            {
                VehicleService   = vsEntity,
                VehicleServiceId = vsEntity.Id,
                User             = user,
                UserId           = user.Id,
                IsPositive       = bm.IsAccepted,
                Message          = bm.Message
            };

            vsEntity.ServiceRatings.Add(newServiceRating);

            bool isAdded = this.vehicleService.AddServiceRating(newServiceRating);

            if (!isAdded)
            {
                return(false);
            }

            return(true);
        }