Ejemplo n.º 1
0
        public UnitOfWork(IDbConnection connection)
        {
            _connection = connection;

            AccountDao          = new AccountDao(connection);
            BusCoordinateDao    = new BusCoordinateDao(connection);
            BusDao              = new BusDao(connection);
            BusDriverDao        = new BusDriverDao(connection);
            CityDao             = new CityDao(connection);
            CountryDao          = new CountryDao(connection);
            DistanceDao         = new DistanceDao(connection);
            DistrictDao         = new DistrictDao(connection);
            DriverDao           = new DriverDao(connection);
            DriverContactDao    = new DriverContactDao(connection);
            LocationDao         = new LocationDao(connection);
            LookupsDao          = new LookupsDao(connection);
            LookupValuesDao     = new LookupValuesDao(connection);
            RepairSpecialistDao = new RepairSpecialistDao(connection);
            RoleDao             = new RoleDao(connection);
            RouteDao            = new RouteDao(connection);
            RouteLocationDao    = new RouteLocationDao(connection);
            TripDao             = new TripDao(connection);
            TripBusDao          = new TripBusDao(connection);
            TripBusDriverDao    = new TripBusDriverDao(connection);
            UserDao             = new UserDao(connection);
            VehicleDao          = new VehicleDao(connection);
            ScheduleDao         = new ScheduleDao(connection);
            ScheduleLocationDao = new ScheduleLocationDao(connection);

            StoredProcedureDao = new StoredProcedureDao(connection);
        }
        public ResponseDto ChangeProfilePhoto(ChangeProfilePhotoRequest request)
        {
            ResponseDto response = new ResponseDto();

            try
            {
                //if (!CheckAuthDriver(request.user_id, request.auth_token))
                //{
                //    MakeNoDriverResponse(response);
                //    return response;
                //}
                using (DriverDao dao = new DriverDao())
                {
                    Driver driver = dao.FindById(request.user_id);
                    if (driver != null)
                    {
                        driver.ProfileImage = request.profile_image;
                        dao.Update(driver);
                    }
                    response.code         = 0;
                    response.has_resource = 0;
                    response.message      = MessagesSource.GetMessage("profile.changed");
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
                return(response);
            }
        }
        public ResendOtpResponse ResendOtp(ResendOtpRequest request)
        {
            request.mobile_number = Common.GetStandardMobileNumber(request.mobile_number);
            ResendOtpResponse response = new ResendOtpResponse();

            response.otp_details = new OTPDetailsDto();
            Driver driver = null;

            try
            {
                using (DriverDao driverDao = new DriverDao())
                {
                    driver = driverDao.FindByMobileNumber(request.mobile_number);
                }
                if (driver == null)
                {
                    MakeNoDriverResponse(response);
                    return(response);
                }

                OTPServices.ResendOTP(response, driver.MobileNumber, driver.DrvrID, "D");
                response.code                 = 0;
                response.has_resource         = 1;
                response.message              = MessagesSource.GetMessage("otp.resent");
                response.otp_details.send_otp = 1;
                return(response);
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
                return(response);
            }
        }
        public UpdateProfileResponse UpdateProfile(UpdateProfileRequest request)
        {
            request.mobile_number = Common.GetStandardMobileNumber(request.mobile_number);
            UpdateProfileResponse response = new UpdateProfileResponse();

            try
            {
                if (!CheckAuthDriver(request.user_id, request.auth_token))
                {
                    MakeNoDriverResponse(response);
                    return(response);
                }
                using (DriverDao dao = new DriverDao())
                {
                    Driver driver = dao.FindById(request.user_id);
                    driver.DriverName = request.driver_name;
                    //driver.MobileNumber = request.mobile_number;
                    //driver.ProfileImage = request.profile_image; //Commented bcz image is uploading as multipart
                    dao.Update(driver);
                    response.code         = 0;
                    response.has_resource = 0;
                    response.message      = MessagesSource.GetMessage("profile.changed");
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
                return(response);
            }
        }
        public ForgotPasswordResponse ForgotPassword(ForgotPasswordRequest request)
        {
            request.mobile_number = Common.GetStandardMobileNumber(request.mobile_number);
            ForgotPasswordResponse response = new ForgotPasswordResponse();

            //string newPassword = TokenGenerator.GenerateResetPassword();
            try
            {
                using (DriverDao dao = new DriverDao())
                {
                    Driver driver = dao.FindByMobileNumber(request.mobile_number);
                    if (driver == null)
                    {
                        MakeNoDriverResponse(response);
                        return(response);
                    }
                    OTPServices.SendOTPForForgotPassword(response, request.mobile_number, driver.DrvrID, "D");
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
                return(response);
            }
        }
        public ResponseDto ChangePasswordDriver(ChangePasswordDriverRequest request)
        {
            ResponseDto response        = new ResponseDto();
            Driver      driver          = null;
            string      oldPasswordHash = TokenGenerator.GetHashedPassword(request.old_password, 49);

            try
            {
                using (DriverDao dao = new DriverDao())
                {
                    driver = dao.FindById(request.user_id);
                    if (driver.Password == oldPasswordHash)
                    {
                        driver.Password = TokenGenerator.GetHashedPassword(request.new_password, 49);
                        dao.Update(driver);
                        response.code         = 0;
                        response.has_resource = 0;
                        response.message      = MessagesSource.GetMessage("password.changed");
                        return(response);
                    }
                    response.code         = 1;
                    response.has_resource = 0;
                    response.message      = MessagesSource.GetMessage("pass.not.chg");
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
            }

            return(response);
        }
        public GetAgentDriverResponse GetAgentDriver(GetAgentDriverRequest request)
        {
            GetAgentDriverResponse response = new GetAgentDriverResponse();
            Driver driver = null;

            try
            {
                if (!CheckAuthDriver(request.user_id, request.auth_token))
                {
                    _userServices.MakeNouserResponse(response);
                    return(response);
                }
                using (DriverDao dao = new DriverDao())
                {
                    driver = dao.FindById(request.user_id);
                    DTOs.Driver.DriverDetailsDto dto = new DTOs.Driver.DriverDetailsDto();
                    DriverHelper.CopyFromEntity(dto, driver);
                    response.code           = 0;
                    response.has_resource   = 1;
                    response.driver_details = dto;
                    response.message        = MessagesSource.GetMessage("got.agent.driver");
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
            }

            return(response);
        }
Ejemplo n.º 8
0
        public static Driver GetDriver(string driverName)
        {
            var result = DriverDao.Get(driverName);

            return(new Driver()
            {
                DriverId = result.Rows[0].Field <int>(DriverDao.ColumnDriverId),
                Name = result.Rows[0].Field <string>(DriverDao.ColumnName)
            });
        }
        public static bool CheckAuthDriver(int driverId, string authCode)
        {
            Driver drv = null;

            using (DriverDao dao = new DriverDao())
            {
                drv = GetAuthDriver(dao, driverId, authCode);
            }

            return(drv != null);;
        }
        private static Driver GetAuthDriver(DriverDao dao, int driverId, string authCode)
        {
            Driver drv = dao.FindById(driverId);

            if (drv == null)
            {
                return(null);
            }
            if (drv.AccToken == authCode)
            {
                return(drv);
            }
            return(null);
        }
        public LoginResponse Login(LoginRequest request)
        {
            request.mobile_number = Common.GetStandardMobileNumber(request.mobile_number);
            LoginResponse response     = new LoginResponse();
            Driver        driver       = null;
            string        hashPassword = TokenGenerator.GetHashedPassword(request.password, 49);

            try
            {
                using (DriverDao dao = new DriverDao())
                {
                    //driver = dao.FindByMobileNumber(request.mobile_number);
                    driver = dao.FindByMobileNumberAndPassword(request.mobile_number, hashPassword);

                    if (driver == null)
                    {
                        MakeNoDriverResponse(response);
                        return(response);
                    }

                    driver.AppID     = request.app_id;
                    driver.AppToken  = request.push_token;
                    driver.LastLogin = DateTime.Now;
                    driver.AccToken  = TokenGenerator.GenerateToken(driver.DriverName, driver.Password, driver.MobileNumber);
                    dao.Update(driver);
                    response.code             = 0;
                    response.user_login       = new UserLoginDto();
                    response.driver_details   = new DriverDetails();
                    response.reminder_details = new ReminderDetailsDto();

                    var reminder = dao.GetRemindersForDriver();
                    response.has_reminder = (reminder == null ? 0 : 1);
                    //if (reminder == null)
                    //{
                    //    reminder = new Reminder();
                    //}
                    DriverHelper.CopyFromEntity(response, driver, reminder);

                    response.has_resource = 1;
                    response.message      = MessagesSource.GetMessage("login.ok");
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
            }

            return(response);
        }
Ejemplo n.º 12
0
        public List <User> GetUsers()
        {
            UserDao   userDao   = new UserDao();
            DriverDao driverDao = new DriverDao();

            List <User> userList = new List <User>();

            List <Consumer> consumers = null;

            consumers = userDao.GetConsumers();

            if (consumers != null && consumers.Count() > 0)
            {
                foreach (Consumer cnr in consumers)
                {
                    userList.Add(new User()
                    {
                        ID       = cnr.ConsID,
                        UserName = cnr.Name,
                        Password = cnr.Password,
                        Roles    = "Consumer",
                        MobileNo = cnr.PhoneNumber,
                        AccToken = cnr.AccToken
                    });
                }
            }

            List <Driver> drivers = null;

            drivers = driverDao.GetDrivers();

            if (drivers != null && drivers.Count() > 0)
            {
                foreach (Driver dvr in drivers)
                {
                    userList.Add(new User()
                    {
                        ID       = dvr.DrvrID,
                        UserName = dvr.DriverName,
                        Password = dvr.Password,
                        Roles    = "Driver",
                        MobileNo = dvr.MobileNumber,
                        AccToken = dvr.AccToken
                    });
                }
            }

            return(userList);
        }
        //public ForgotPasswordResponse ForgotPassword(ForgotPasswordRequest request)
        //{
        //    ForgotPasswordResponse response = new ForgotPasswordResponse();
        //    string newPassword = TokenGenerator.GenerateResetPassword();
        //    Driver drv = null;
        //    try
        //    {

        //        using (DriverDao dao = new DriverDao())
        //        {
        //            drv = dao.FindByMobileNumber(request.mobile_number);
        //            drv.Password = TokenGenerator.GetHashedPassword(newPassword, 49);
        //            dao.Update(drv);
        //            OTPServices.SendPasswordMessage(drv.MobileNumber, newPassword);
        //            response.code = 0;
        //            response.has_resource = 1;
        //            response.reset_password = new ResetPasswordDto();
        //            response.reset_password.password_otp_sent = 1;
        //            response.reset_password.password_reset = 1;
        //            response.message = MessagesSource.GetMessage("passwd.reset");
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        response.MakeExceptionResponse(ex);
        //    }

        //    return response;
        //}

        public ResponseDto CheckOTP(CheckOtpRequest request)
        {
            request.mobile_number = Common.GetStandardMobileNumber(request.mobile_number);
            ResponseDto response = new ResponseDto();
            Driver      driver   = null;

            response.has_resource = 0;
            try
            {
                using (DriverDao dao = new DriverDao())
                {
                    driver = dao.FindByMobileNumber(request.mobile_number);
                    if (driver == null)
                    {
                        MakeNoDriverResponse(response);
                        return(response);
                    }


                    bool otpValid = OTPServices.ValidateOTP(driver.DrvrID, request.otp_code);
                    OTPServices.RemoveOTP(driver.DrvrID, request.otp_code);// Either way remove this otp if it exists.
                    if (otpValid)
                    {
                        driver.StatusId = true;
                        dao.Update(driver);
                        response.code         = 0;
                        response.message      = MessagesSource.GetMessage("otp.valid");
                        response.has_resource = 1;
                        return(response);
                    }
                    response.code    = 1;
                    response.message = MessagesSource.GetMessage("otp.not.valid");
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
            }
            return(response);
        }
        //public ResendOtpResponse ResendOtp(ResendOtpRequest request)
        //{
        //    ResendOtpResponse response = new ResendOtpResponse();
        //    response.otp_details = new OtpDetailsDto();
        //    Driver driver = null;
        //    try
        //    {
        //        using (DriverDao userDao = new DriverDao())
        //        {
        //            driver = userDao.FindByMobileNumber(request.mobile_number);
        //        }
        //        if (driver == null)
        //        {
        //            MakeNoDriverResponse(response);
        //            return response;
        //        }

        //        OTPServices.ResendOTP(driver.DrvrID, driver.MobileNumber, "D");
        //        response.code = 0;
        //        response.has_resource = 1;
        //        response.message = MessagesSource.GetMessage("otp.resent");
        //        response.otp_details.send_otp = 1;
        //        return response;
        //    }
        //    catch (Exception ex)
        //    {
        //        response.MakeExceptionResponse(ex);
        //        return response;
        //    }
        //}

        public ResponseDto ResetPassword(ResetPasswordRequest request)
        {
            ResponseDto response            = new ResponseDto();
            Driver      driver              = null;
            string      newPasswordHash     = TokenGenerator.GetHashedPassword(request.new_password, 49);
            string      confirmPasswordHash = TokenGenerator.GetHashedPassword(request.confirm_password, 49);

            try
            {
                using (DriverDao dao = new DriverDao())
                {
                    driver = dao.FindByMobileNumber(request.mobile_number);
                    if (driver == null)
                    {
                        MakeNoDriverResponse(response);
                        return(response);
                    }
                    if (newPasswordHash == confirmPasswordHash)
                    {
                        driver.Password = TokenGenerator.GetHashedPassword(request.new_password, 49);
                        dao.Update(driver);
                        response.code         = 0;
                        response.has_resource = 1;
                        response.message      = MessagesSource.GetMessage("passwd.reset");
                        return(response);
                    }
                }
                response.code         = 1;
                response.has_resource = 0;
                response.message      = MessagesSource.GetMessage("exception");
                return(response);
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
                return(response);
            }
        }
Ejemplo n.º 15
0
        public ConfirmTeleOrderResponse ConfirmTeleOrder(ConfirmTeleOrderRequest request)
        {
            ConfirmTeleOrderResponse response = new ConfirmTeleOrderResponse();

            try
            {
                if (!AgentAdminServices.CheckAdmin(request.user_id, request.auth_token, response))
                {
                    return(response);
                }
                using (TeleOrderDao dao = new TeleOrderDao())
                {
                    TeleOrder order = dao.FindById(request.order_id, true);
                    if (order == null)
                    {
                        MakeNoTeleOrderFoundResponse(response);
                        return(response);
                    }
                    order.StatusId = OrdersServices.ID_ORDER_ACCEPTED;//2;
                    order.DrvrID   = request.driver_id;
                    //Driver drv = order.Driver;
                    //int agId = drv.AgenID;
                    Driver drv = null;
                    using (DriverDao ddao = new DriverDao())
                    {
                        drv = ddao.FindById(request.driver_id);
                        if (drv == null)
                        {
                            DriverServices.MakeNoDriverResponse(response);
                            return(response);
                        }
                        TeleOrderDelivery odel = new TeleOrderDelivery();
                        odel.DrvrID       = drv.DrvrID;
                        odel.AgadmID      = request.user_id;
                        odel.CreatedDate  = DateTime.Now;
                        odel.DeliveryDate = order.DeliveryDate;
                        odel.AcceptedDate = DateTime.Now;
                        odel.StatusId     = OrdersServices.DELIVERY_STATUS_ASSIGNED;//1;
                        odel.TeleOrder    = order;
                        order.TeleOrderDeliveries.Add(odel);
                    }
                    lock (InvoiceService.monitor)
                    {
                        string invNo = InvoiceService.GenerateInvoiceNumber(drv.AgenID);
                        order.InvoiceNumber = invNo;
                        dao.Update(order);
                    }
                    TeleOrderHelper.CopyFromEntity(response, order);
                    using (ConsumerReviewDao conReviewDao = new ConsumerReviewDao())
                    {
                        List <ConsumerReview> conReview = new List <ConsumerReview>();
                        conReview = conReviewDao.GetReviewByDriver(request.driver_id);
                        response.orders.driver.driver_rating = conReview.Count > 0 ? Convert.ToDecimal(conReview.Average(x => x.Rating)) : 0;
                    }

                    if (order.DeliveryDate.HasValue && order.DeliveryDate.Value.ToShortDateString() == DateTime.Now.ToShortDateString())
                    {
                        int orderCount = dao.GetAssignedOrderCount(request.driver_id, OrdersServices.ID_ORDER_ACCEPTED);
                        using (OrderDao ordDao = new OrderDao())
                        {
                            orderCount += ordDao.GetAssignedOrderCount(request.driver_id, OrdersServices.ID_ORDER_ACCEPTED);
                        }
                        _orderService.ReadAndSendPushNotification(OrdersServices.APPSETTING_MSG_TO_ASSIGNED_DRIVER, OrdersServices.APPSETTING_TITLE_FOR_ASSIGNED_DRIVER, drv.AppToken, request.order_id, request.driver_id, orderCount, PushMessagingService.APPSETTING_APPLICATION_ID_DRIVER, PushMessagingService.APPSETTING_SENDER_ID_DRIVER, (int)PushMessagingService.PushType.TypeOne);
                    }

                    response.code         = 0;
                    response.has_resource = 1;
                    response.message      = MessagesSource.GetMessage("cnfrm.tele.order");
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
            }

            return(response);
        }