//public bool AddNewUser(UserDetails user)
        // {
        //     user.Id = Guid.NewGuid().ToString();
        //     string query = "insert into [User](Id,Name,Email,Password) values(@Id,@Name,@Email,@Password)";
        //     DynamicParameters parameters = new DynamicParameters();
        //     parameters.Add("Id", user.Id);
        //      parameters.Add("Name", user.Name);
        //     parameters.Add("Email", user.Email);
        //    parameters.Add("Password", user.Password);
        //    ExtensionObject extensionObject = new ExtensionObject()
        //    {
        //        Query = query,
        //        ConnectionString = connectionString
        //    };
        //    return extensionObject.AddOrUpdateItem<UserDetails>(parameters);
        // }

        public string AddUser(User user)
        {
            user.Id = Guid.NewGuid().ToString();
            string            query      = "insert into [User](Id,Name,Email,PhoneNumber,Address,Gender,Password) values(@Id,@Name,@Email,@PhoneNumber,@Address,@Gender,@Password)";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("Id", user.Id);
            parameters.Add("Name", user.Name);
            parameters.Add("Email", user.Email);
            parameters.Add("PhoneNumber", user.PhoneNumber);
            parameters.Add("Address", user.Address);
            parameters.Add("Gender", user.Gender);
            parameters.Add("Password", user.Password);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            if (extensionObject.AddOrUpdateItem <User>(parameters))
            {
                return(user.Id);
            }
            else
            {
                return(null);
            }
        }
Пример #2
0
        public string AddVehicle(Vehicle vehicle)
        {
            string query = "insert into Vehicle(Id,UserId,Model,Number,VehicleTypeId,IsActive) values(@Id,@UserId,@Model,@Number,@vehicleTypeId,@IsActive)";

            vehicle.Id       = Guid.NewGuid().ToString();
            vehicle.IsActive = true;

            string          vehicleTypeQuery           = "select * from VehicleType where Name='Four-Wheeler'";
            ExtensionObject vehicleTypeExtensionObject = new ExtensionObject()
            {
                Query            = vehicleTypeQuery,
                ConnectionString = connectionString
            };

            string            VehicleTypeId = vehicleTypeExtensionObject.GetItem <VehicleType>().Id;
            DynamicParameters parameters    = new DynamicParameters();

            parameters.Add("Id", vehicle.Id);
            parameters.Add("UserId", vehicle.UserId);
            parameters.Add("Model", vehicle.Model);
            parameters.Add("Number", vehicle.Number);
            parameters.Add("VehicleTypeId", VehicleTypeId);
            parameters.Add("IsActive", vehicle.IsActive);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            extensionObject.AddOrUpdateItem <Vehicle>(parameters);

            return(vehicle.Id);
        }
        public bool AddViaPoint(ViaPoint viaPoint)
        {
            string            query      = "insert into ViaPoint(Id,RideId,Name,[Index],Distance) values(@Id,@RideId,@Name,@Index,@Distance)";
            DynamicParameters parameters = new DynamicParameters();
            string            viaPointId = Guid.NewGuid().ToString();

            parameters.Add("Id", viaPointId);
            parameters.Add("RideId", viaPoint.RideId);
            parameters.Add("Name", viaPoint.Name.ToLower());
            parameters.Add("Index", viaPoint.Index);
            parameters.Add("Distance", viaPoint.Distance);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            if (extensionObject.AddOrUpdateItem <ViaPoint>(parameters))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public bool UpdateRide(Ride ride)
        {
            if (ride.Status.Value == "Cancelled")
            {
                string          statusQuery           = "select * from Status where Type='Ride' and Value='Cancelled'";
                ExtensionObject statusExtensionObject = new ExtensionObject()
                {
                    Query            = statusQuery,
                    ConnectionString = connectionString
                };

                string          rideStatusId    = statusExtensionObject.GetItem <Status>().Id;
                string          query           = "update Ride set StatusId=@StatusId where Id=@Id";
                ExtensionObject extensionObject = new ExtensionObject()
                {
                    Query            = query,
                    ConnectionString = connectionString
                };
                DynamicParameters parameters = new DynamicParameters();
                parameters.Add("Id", ride.Id);
                parameters.Add("StatusId", rideStatusId);
                if (extensionObject.AddOrUpdateItem <Ride>(parameters))
                {
                    IBookingService bookingService = new BookingService(configuration);
                    return(bookingService.CancelAllBookingsByRideId(ride.Id));
                }
                return(false);
            }
            else
            {
                string          query                 = "update Ride set AutoApproveRide=@AutoApproveRide, VehicleId=@VehicleId, StatusId=@statusId where Id=@Id";
                string          statusQuery           = "select * from Status where Type='Ride' and Value='" + ride.Status.Value + "'";
                ExtensionObject statusExtensionObject = new ExtensionObject()
                {
                    Query            = statusQuery,
                    ConnectionString = connectionString
                };
                string statusId = statusExtensionObject.GetItem <Status>().Id;

                DynamicParameters parameters = new DynamicParameters();
                parameters.Add("Id", ride.Id);
                parameters.Add("AutoApproveRide", ride.AutoApproveRide);
                parameters.Add("VehicleId", ride.Vehicle.Id);
                parameters.Add("StatusId", statusId);
                ExtensionObject extensionObject = new ExtensionObject()
                {
                    Query            = query,
                    ConnectionString = connectionString
                };
                return(extensionObject.AddOrUpdateItem <Booking>(parameters));
            }
        }
        public int AddBooking(Booking booking)
        {
            IRideService rideService = new RideService(configuration);
            Ride         ride        = rideService.GetRideById(booking.Ride.Id);

            ride.Id = booking.Ride.Id;
            int availableSeats = AvailableSeats(ride, booking.PickUp, booking.Drop);

            if (availableSeats >= booking.NumberOfSeatsBooked)
            {
                string query = "insert into Booking(Id,RideId,PickUp,[Drop],BookedBy,Price,StatusId,BookingTime,NumberOfSeatsBooked)" +
                               " values(@Id,@RideId,@PickUp,@Drop,@BookedBy,@Price,@StatusId,@BookingTime,@NumberOfSeatsBooked)";
                booking.Id = Guid.NewGuid().ToString();
                string          statusQuery           = "select * from Status where Type='Booking' and Value='Pending'";
                ExtensionObject statusExtensionObject = new ExtensionObject()
                {
                    Query            = statusQuery,
                    ConnectionString = connectionString
                };

                string            statusId   = statusExtensionObject.GetItem <Status>().Id;
                DynamicParameters parameters = new DynamicParameters();
                parameters.Add("Id", booking.Id);
                parameters.Add("RideId", booking.Ride.Id);
                parameters.Add("PickUp", booking.PickUp);
                parameters.Add("Drop", booking.Drop);
                parameters.Add("BookedBy", booking.BookedBy.Id);
                parameters.Add("Price", booking.Price);
                parameters.Add("StatusId", statusId);
                parameters.Add("BookingTime", booking.BookingTime);
                parameters.Add("NumberOfSeatsBooked", booking.NumberOfSeatsBooked);
                ExtensionObject extensionObject = new ExtensionObject()
                {
                    Query            = query,
                    ConnectionString = connectionString
                };
                if (extensionObject.AddOrUpdateItem <Booking>(parameters))
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
            else
            {
                return(-1);
            }
        }
Пример #6
0
        public bool UpdateStatus(Status status)
        {
            string            query      = "update Status set Type=@Type and Value=@Value where Id=@Id";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("Id", status.Id);
            parameters.Add("Type", status.Type);
            parameters.Add("Value", status.Value);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            return(extensionObject.AddOrUpdateItem <Status>(parameters));
        }
Пример #7
0
        public bool AddStatus(Status status)
        {
            string            query      = "insert into Status(Id,Type,Value) values(@Id,@Type,@Value)";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("Id", Guid.NewGuid().ToString());
            parameters.Add("Type", status.Type);
            parameters.Add("Value", status.Value);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            return(extensionObject.AddOrUpdateItem <Status>(parameters));
        }
Пример #8
0
        public bool UpdateVehicleType(VehicleType vehicleType)
        {
            string            query      = "update VehicleType set Name=@Name,MaximumFare=@MaximumFare,MaximumSeats=@MaximumSeats where Id=@Id";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("Id", Guid.NewGuid().ToString());
            parameters.Add("Name", vehicleType.Name);
            parameters.Add("MaximumFare", vehicleType.MaximumFare);
            parameters.Add("MaximumSeats", vehicleType.MaximumSeats);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            return(extensionObject.AddOrUpdateItem <VehicleType>(parameters));
        }
Пример #9
0
        public bool AddVehicleType(VehicleType vehicleType)
        {
            string            query      = "insert into VehicleType(Id,Name,MaximumFare,MaximumSeats) values(@Id,@Name,@MaximumFare,@MaximumSeats)";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("Id", Guid.NewGuid().ToString());
            parameters.Add("Name", vehicleType.Name);
            parameters.Add("MaximumFare", vehicleType.MaximumFare);
            parameters.Add("MaximumSeats", vehicleType.MaximumSeats);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            return(extensionObject.AddOrUpdateItem <VehicleType>(parameters));
        }
        public string AddRide(Ride ride)
        {
            string query = "insert into Ride(Id,PublisherId,PickUp,[Drop],StartDate,NumberOfSeats,Price,VehicleId,AutoApproveRide,StatusId) " +
                           "values(@Id,@PublisherId,@PickUp,@Drop,@StartDate,@NumberOfSeats,@Price,@VehicleId,@AutoApproveRide,@Status)";
            DynamicParameters parameters = new DynamicParameters();

            ride.Id = Guid.NewGuid().ToString();

            string          statusQuery           = "select * from Status where Type='Ride' and Value='Not Started'";
            ExtensionObject statusExtensionObject = new ExtensionObject()
            {
                Query            = statusQuery,
                ConnectionString = connectionString
            };

            string rideStatusId = statusExtensionObject.GetItem <Status>().Id;

            ride.AutoApproveRide = false;

            parameters.Add("Id", ride.Id);
            parameters.Add("PublisherId", ride.Publisher.Id);
            parameters.Add("PickUp", ride.PickUp.ToLower());
            parameters.Add("Drop", ride.Drop.ToLower());
            parameters.Add("StartDate", ride.StartDate);
            parameters.Add("NumberOfSeats", ride.NumberOfSeats);
            //parameters.Add("AvailableSeats", ride.AvailableSeats);
            parameters.Add("Price", ride.Price);
            parameters.Add("VehicleId", ride.Vehicle.Id);
            parameters.Add("AutoApproveRide", ride.AutoApproveRide);
            parameters.Add("Status", rideStatusId);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            if (extensionObject.AddOrUpdateItem <Ride>(parameters))
            {
                return(ride.Id);
            }
            else
            {
                return(null);
            }
        }
        public bool LogException(string exception, string methodName)
        {
            string query = "insert into Log(Id,Method,Exception,TimeStamp) values(@Id,@Method,@Exception,@TimeStamp)";

            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("Id", Guid.NewGuid().ToString());
            parameters.Add("Method", methodName);
            parameters.Add("Exception", exception);
            parameters.Add("Timestamp", DateTime.Now);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            return(extensionObject.AddOrUpdateItem <Log>(parameters));
        }
        public bool UpdateUser(User user)
        {
            string            query      = "update [User] set Name=@Name,Email=@Email,PhoneNumber=@PhoneNumber,Address=@Address,Password=@Password where Id=@Id";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("Id", user.Id);
            parameters.Add("Name", user.Name);
            parameters.Add("Email", user.Email);
            parameters.Add("PhoneNumber", user.PhoneNumber);
            parameters.Add("Address", user.Address);
            parameters.Add("Password", user.Password);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            return(extensionObject.AddOrUpdateItem <User>(parameters));
        }
Пример #13
0
        public bool UpdateVehicle(Vehicle vehicle)
        {
            string query = "update Vehicle set Model=@Model,Number=@Number,VehicleTypeId=@vehicleTypeId,IsActive=@IsActive where Id=@Id)";

            vehicle.Id = Guid.NewGuid().ToString();
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("Id", vehicle.Id);
            parameters.Add("Model", vehicle.Model);
            parameters.Add("Number", vehicle.Number);
            parameters.Add("VehicleTypeId", vehicle.VehicleType.Id);
            parameters.Add("IsActive", vehicle.IsActive);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            return(extensionObject.AddOrUpdateItem <Vehicle>(parameters));
        }
        public bool CancelAllBookingsByRideId(string rideId)
        {
            string          statusQuery           = "select * from Status where Type='Booking' and Value='Cancelled'";
            ExtensionObject statusExtensionObject = new ExtensionObject()
            {
                Query            = statusQuery,
                ConnectionString = connectionString
            };
            string statusId = statusExtensionObject.GetItem <Status>().Id;

            string            query      = "update Booking set StatusId=@statusId where RideId=@RideId";
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("RideId", rideId);
            parameters.Add("StatusId", statusId);
            ExtensionObject extensionObject = new ExtensionObject()
            {
                Query            = query,
                ConnectionString = connectionString
            };

            return(extensionObject.AddOrUpdateItem <Booking>(parameters));
        }
        public int UpdateBooking(Booking booking)
        {
            IRideService rideService = new RideService(configuration);
            Ride         ride        = rideService.GetRideById(booking.Ride.Id);

            ride.Id = booking.Ride.Id;
            int availableSeats = AvailableSeats(ride, booking.PickUp, booking.Drop);

            if (booking.Status.Value == "Rejected")
            {
                string query = "update Booking set PickUp=@PickUp,[Drop]=@Drop" +
                               ",StatusId=@Status,NumberOfSeatsBooked=@NumberOfSeatsBooked where Id=@Id";
                DynamicParameters parameters            = new DynamicParameters();
                string            statusQuery           = "select * from Status where Type='Booking' and Value='" + booking.Status.Value + "'";
                ExtensionObject   statusExtensionObject = new ExtensionObject()
                {
                    Query            = statusQuery,
                    ConnectionString = connectionString
                };
                string statusId = statusExtensionObject.GetItem <Status>().Id;

                parameters.Add("Id", booking.Id);
                parameters.Add("PickUp", booking.PickUp);
                parameters.Add("Drop", booking.Drop);
                parameters.Add("Status", statusId);
                parameters.Add("NumberOfSeatsBooked", booking.NumberOfSeatsBooked);
                ExtensionObject extensionObject = new ExtensionObject()
                {
                    Query            = query,
                    ConnectionString = connectionString
                };
                //new { booking.Id, booking.PickUp, booking.Drop, booking.Status, booking.NumberOfSeatsBooked });
                if (extensionObject.AddOrUpdateItem <Booking>(parameters))
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
            else if (booking.Status.Value == "Approved" && availableSeats >= booking.NumberOfSeatsBooked)
            {
                string query = "update Booking set PickUp=@PickUp,[Drop]=@Drop" +
                               ",StatusId=@Status,NumberOfSeatsBooked=@NumberOfSeatsBooked where Id=@Id";
                DynamicParameters parameters            = new DynamicParameters();
                string            statusQuery           = "select * from Status where Type='Booking' and Value='" + booking.Status.Value + "'";
                ExtensionObject   statusExtensionObject = new ExtensionObject()
                {
                    Query            = statusQuery,
                    ConnectionString = connectionString
                };
                string statusId = statusExtensionObject.GetItem <Status>().Id;

                parameters.Add("Id", booking.Id);
                parameters.Add("PickUp", booking.PickUp);
                parameters.Add("Drop", booking.Drop);
                parameters.Add("Status", statusId);
                parameters.Add("NumberOfSeatsBooked", booking.NumberOfSeatsBooked);
                ExtensionObject extensionObject = new ExtensionObject()
                {
                    Query            = query,
                    ConnectionString = connectionString
                };
                //new { booking.Id, booking.PickUp, booking.Drop, booking.Status, booking.NumberOfSeatsBooked });
                if (extensionObject.AddOrUpdateItem <Booking>(parameters))
                {
                    return(1);
                }
                else
                {
                    return(0);
                }
            }
            return(-1);
        }