Exemplo n.º 1
0
        public async Task <bool> UpdateCurrentLocation(DriverLocationDTO model)
        {
            var driver = context.DriverDetail.FirstOrDefault(a => a.DriverId == model.DriverId);

            if (ReferenceEquals(driver, null))
            {
                return(false);
            }

            driver.CurrentLatitude     = model.Latitude;
            driver.CurrentLongitude    = model.Longitude;
            driver.LastLocationUpdated = DateTime.Now;

            await context.SaveChangesAsync();

            return(true);
        }
Exemplo n.º 2
0
        public async Task <ResponseModel> SaveNewOrder(Order order)
        {
            var response = new ResponseModel();

            #region Validate
            if (order.CustomerId == default(int))
            {
                response.errors.Add("Customer id is required.");
            }
            if (order.StatusId == default(int))
            {
                response.errors.Add("Status id is required.");
            }
            if (string.IsNullOrWhiteSpace(order.PickupLocation))
            {
                response.errors.Add("Pick up location is required.");
            }
            if (string.IsNullOrWhiteSpace(order.DropoffLocation))
            {
                response.errors.Add("Drop off location is required.");
            }
            if (string.IsNullOrWhiteSpace(order.PickupLatitude) || string.IsNullOrWhiteSpace(order.PickupLongitude))
            {
                response.errors.Add("Pick up latitude/longitude is required.");
            }
            if (string.IsNullOrWhiteSpace(order.DropoffLatitude) || string.IsNullOrWhiteSpace(order.DropoffLongitude))
            {
                response.errors.Add("Drop off latitude/longitude is required.");
            }
            if (string.IsNullOrWhiteSpace(order.LoadType))
            {
                response.errors.Add("Load type is required.");
            }
            if (string.IsNullOrWhiteSpace(order.Commodity))
            {
                response.errors.Add("Commodity is required.");
            }
            if (order.Weight == default(decimal))
            {
                response.errors.Add("Weight is required.");
            }
            if (string.IsNullOrWhiteSpace(order.ContactNumber))
            {
                response.errors.Add("Contact Number is required.");
            }
            #endregion
            if (response.errors.Count > 0)
            {
                return(response);
            }

            order.DateCreated = DateTime.Now;
            context.Order.Add(order);
            await context.SaveChangesAsync();

            response.status = true;
            return(response);
        }
Exemplo n.º 3
0
        public async Task <ResponseModel> Delete(int userId)
        {
            var response = new ResponseModel();
            var user     = await context.UserProfile.FirstOrDefaultAsync(a => a.UserId == userId);

            if (user == null)
            {
                response.errors.Add("Invalid user id.");
                return(response);
            }

            user.RowState = (int)RowState.Deleted;
            await context.SaveChangesAsync();

            response.status = true;
            return(response);
        }
Exemplo n.º 4
0
        public async Task <bool> SaveFeedback(FeedbackDTO model)
        {
            var user = GetUserProfile(model.UserId);

            if (ReferenceEquals(user, null))
            {
                return(false);
            }
            var feedback = new Feedback
            {
                UserId    = model.UserId,
                Feedbacks = model.Feedbacks
            };

            context.Feedback.Add(feedback);

            await context.SaveChangesAsync();

            return(true);
        }
        public async Task <IHttpActionResult> Register([FromBody] RegisterModel model)
        {
            var errors = new List <string>();

            if (ModelState.IsValid)
            {
                try
                {
                    if (model.RoleId == (int)UserRole.Driver)
                    {
                        if (string.IsNullOrWhiteSpace(model.Vehicle))
                        {
                            errors.Add("Vehicle name is required");
                        }
                        if (model.Contact.Length < 11)
                        {
                            errors.Add("Contact is required");
                        }
                    }
                    if (model.RoleId == (int)UserRole.Customer)
                    {
                    }

                    if (string.IsNullOrWhiteSpace(model.FirstName))
                    {
                        errors.Add("First name is required");
                    }
                    if (string.IsNullOrWhiteSpace(model.LastName))
                    {
                        errors.Add("Last name is required");
                    }
                    if (string.IsNullOrWhiteSpace(model.Email))
                    {
                        errors.Add("EmailId is required");
                    }

                    if (errors.Count > 0)
                    {
                        return(Json(new { status = errors.Count == 0, errors }));
                    }

                    WebSecurity.CreateUserAndAccount(model.Email,
                                                     new Security(model.Password).Encrypt(),
                                                     propertyValues: new
                    {
                        FirstName = model.FirstName,
                        LastName  = model.LastName,

                        RoleId   = model.RoleId,
                        RowState = (int)RowState.Created,
                        HasImage = false,
                    });

                    int driverId = context.UserProfile.First(a => a.EmailId == model.Email).UserId;
                    if (model.RoleId == (int)UserRole.Customer)
                    {
                    }
                    else if (model.RoleId == (int)UserRole.Driver)
                    {
                        var driver = new DriverDetail();
                        driver.DriverId         = driverId;
                        driver.VehicleNumber    = model.Vehicle;
                        driver.Contact          = model.Contact;
                        driver.StatusId         = (int)DriverStatus.LoggedOut;
                        driver.IsLoaded         = false;
                        driver.IsAccepted       = false;
                        driver.CurrentLatitude  = "0.0";
                        driver.CurrentLongitude = "0.0";


                        context.DriverDetail.Add(driver);
                        try
                        {
                            await context.SaveChangesAsync();
                        }
                        catch (System.Exception ex)
                        {
                            throw;
                        }
                    }
                }
                catch (MembershipCreateUserException e)
                {
                    errors.Add(e.StatusCode.ToString());
                }
            }
            return(Json(new { status = errors.Count == 0, errors }));
        }