示例#1
0
        public SuperAdminDetialDto SuperAdminDashboard()
        {
            using (var dbContext = new OmContext())
            {
                var superadmins = (from u in dbContext.Users
                                   join ur in dbContext.UserRoles on u.UserId equals ur.UserId
                                   join r in dbContext.Roles on ur.RoleId equals r.RoleId
                                   where r.Title == "SuperAdmin"
                                   select u).Count();

                var noOfWorkers = dbContext.Workers.Count();

                var noOfCustomers = dbContext.Customers.Count();

                var noOfFranchises = dbContext.Franchises.Count();


                return(new SuperAdminDetialDto
                {
                    SuperAdmins = superadmins,
                    Workers = noOfWorkers,
                    Customers = noOfCustomers,
                    Franchises = noOfFranchises
                });
            }
        }
示例#2
0
        public SimpleUserDto UpdateFranchiseAdmin(SimpleUserDto franchiseAdminDto)
        {
            using (var dbContext = new OmContext())
            {
                try
                {
                    var user = dbContext.Users.FirstOrDefault(a => a.Email == franchiseAdminDto.Email);
                    if (user != null)
                    {
                        user.Name     = franchiseAdminDto.Name;
                        user.Email    = franchiseAdminDto.Email;
                        user.Password = franchiseAdminDto.Password;
                        user.cnic     = franchiseAdminDto.cnic;
                    }
                    if (user == null)
                    {
                        User newUser = new User()
                        {
                            Name     = franchiseAdminDto.Name,
                            Email    = franchiseAdminDto.Email,
                            Password = franchiseAdminDto.Password,
                            cnic     = franchiseAdminDto.cnic,
                        };
                    }
                    dbContext.SaveChanges();

                    return(Mapper.Map <SimpleUserDto>(user));
                }
                catch (Exception e)
                {
                    return(null);
                }
            }
        }
示例#3
0
        public FranchiseDetailDto FranchiseDashboard(int userId)
        {
            using (var dbContext = new OmContext())
            {
                var franchiseId = (from fa in dbContext.FranchiseAdmins
                                   where fa.UserId == userId
                                   select fa.FranchiseId).FirstOrDefault();


                var noOfAdmins = dbContext.FranchiseAdmins.Where(f => f.FranchiseId == franchiseId).Count();

                var noOfWorkers = dbContext.Workers.Where(f => f.FranchiseId == franchiseId).Count();

                var noOfCustomers = dbContext.Customers.Where(f => f.FranchiseId == franchiseId).Count();

                var noOfCategories = dbContext.WorkCategory.Where(f => f.FranchiseId == franchiseId).Count();

                var noOfServicers = (from fa in dbContext.Services
                                     join w in dbContext.WorkCategory on fa.WorkCategoryId equals w.WorkCategoryId
                                     where w.FranchiseId == franchiseId
                                     select fa).Count();


                return(new FranchiseDetailDto
                {
                    Admins = noOfAdmins,
                    Workers = noOfWorkers,
                    Customers = noOfCustomers,
                    Categories = noOfCategories,
                    Services = noOfServicers
                });
            }
        }
示例#4
0
        public bool AddRating(int jobId, float rating)
        {
            using (var dbContext = new OmContext())
            {
                try
                {
                    var job = dbContext.Jobs.First(j => j.JobId == jobId);
                    job.Rate = rating;

                    var worker = dbContext.Workers.First(w => w.WorkerId == job.WorkerId);
                    if (worker.Rate == 0)
                    {
                        worker.Rate = rating;
                    }
                    else
                    {
                        worker.Rate = (worker.Rate + rating) / 2;
                    }

                    dbContext.SaveChanges();
                    return(true);
                }
                catch (Exception ex)
                {
                    return(false);
                }
            }
        }
示例#5
0
        public ServiceDto AddService(ServiceDto serviceDto)
        {
            using (var dbContext = new OmContext())
            {
                try
                {
                    // var serviceCategory = dbContext.Services.Where(w => w.Title == serviceDto.Title);
                    // if (!serviceCategory.Any())
                    {
                        Service newService = new Service
                        {
                            WorkCategoryId = serviceDto.WorkCategoryId,
                            Title          = serviceDto.Title,
                            Price          = serviceDto.Price
                        };

                        dbContext.Services.Add(newService);
                        dbContext.SaveChanges();
                        return(new ServiceDto()
                        {
                            Title = newService.Title,
                            Price = newService.Price,
                            WorkCategoryId = newService.WorkCategoryId,
                            ServiceId = newService.ServiceId
                        });
                    }

                    return(null);
                }
                catch (Exception ex)
                {
                    return(null);
                }
            }
        }
示例#6
0
 public FranchiseCustomerDto GetFranchiseCustomer(int userId)
 {
     using (var dbContext = new OmContext())
     {
         var franchises = (from u in dbContext.Users
                           join c in dbContext.Customers on u.UserId equals c.UserId
                           join a in dbContext.Addresses on c.AddressId equals a.AddressId
                           where u.UserId == userId
                           select new FranchiseCustomerDto
         {
             FranchiseId = c.FranchiseId,
             CustomerId = c.CustomerId,
             FranchiseCustomer = new SimpleUserDto
             {
                 UserId = u.UserId,
                 Name = u.Name,
                 Email = u.Email,
                 Password = u.Password,
                 cnic = u.cnic,
                 phone = u.phone
             },
             CustomerAddres = new AddressDto
             {
                 AddressId = a.AddressId,
                 Country = a.Country,
                 State = a.State,
                 Street = a.Street,
                 House = a.House,
                 Latitude = a.Latitude,
                 Longitude = a.Longitude
             }
         }).FirstOrDefault();
         return(franchises);
     }
 }
 public bool DeleteFranchise(int franchiseId)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var franchise = dbContext.Franchises.FirstOrDefault(u => u.FranchiseId == franchiseId);
             if (franchise != null)
             {
                 var users = dbContext.Users.FirstOrDefault(u => u.UserId == franchise.UserId);
                 var roles = dbContext.UserRoles.FirstOrDefault(ur => ur.UserId == franchise.UserId);
                 dbContext.Franchises.Remove(franchise);
                 dbContext.UserRoles.Remove(roles);
                 dbContext.Users.Remove(users);
                 dbContext.SaveChanges();
                 return(true);
             }
             return(false);
         }
         catch (Exception e)
         {
             return(false);
         }
     }
 }
 public List <FranchiseUserDto> GetAllFranchises()
 {
     using (var dbContext = new OmContext())
     {
         var franchises = (from f in dbContext.Franchises
                           join u in dbContext.Users on f.UserId equals u.UserId
                           join ur in dbContext.UserRoles on u.UserId equals ur.UserId
                           join r in dbContext.Roles on ur.RoleId equals r.RoleId
                           where r.Title == "Franchise"
                           select new FranchiseUserDto
         {
             FranchiseId = f.FranchiseId,
             FranchiseName = f.Name,
             FranchiseUser = new SimpleUserDto
             {
                 UserId = u.UserId,
                 Name = u.Name,
                 Email = u.Email,
                 Password = u.Password,
                 cnic = u.cnic
             }
         }).ToList();
         return(franchises);
     }
 }
 public FranchiseUserDto UpdateFranchise(int franchiseId, FranchiseUserDto franchiseDto)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var franchise = dbContext.Franchises.FirstOrDefault(f => f.FranchiseId == franchiseId);
             if (franchise == null)
             {
                 return(null);
             }
             franchise.Name = franchiseDto.FranchiseName;
             var franchiseUser = dbContext.Users.FirstOrDefault(fu => fu.UserId == franchise.UserId);
             if (franchiseUser != null)
             {
                 franchiseUser.Name     = franchiseDto.FranchiseUser.Name;
                 franchiseUser.Email    = franchiseDto.FranchiseUser.Email;
                 franchiseUser.Password = franchiseDto.FranchiseUser.Password;
                 franchiseUser.cnic     = franchiseDto.FranchiseUser.cnic;
             }
             ;
             dbContext.SaveChanges();
             return(new FranchiseUserDto
             {
                 FranchiseId = franchiseId,
                 FranchiseName = franchise.Name,
                 FranchiseUser = Mapper.Map <SimpleUserDto>(franchiseUser)
             });
         }
         catch (Exception e)
         {
             return(null);
         }
     }
 }
示例#10
0
 public bool AddNotificationToken(int userId, string token)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var userNotification = dbContext.NotificationDetails.FirstOrDefault(u => u.UserId == userId);
             if (userNotification == null)
             {
                 dbContext.NotificationDetails.Add(new NotificationDetail
                 {
                     UserId = userId,
                     Token  = token
                 });
             }
             else
             {
                 userNotification.Token = token;
             }
             dbContext.SaveChanges();
             return(true);
         }
         catch (Exception e)
         {
             return(false);
         }
     }
 }
示例#11
0
        public int AddUser(string name, string email, string password, string cnic)
        {
            using (var dbContext = new OmContext())
            {
                try
                {
                    var user = dbContext.Users.FirstOrDefault(a => a.Email == email);
                    if (user == null)
                    {
                        User newUser = new User()
                        {
                            Name     = name,
                            Email    = email,
                            Password = password,
                            cnic     = cnic
                        };

                        dbContext.Users.Add(newUser);
                        dbContext.SaveChanges();

                        return(newUser.UserId);
                    }
                    return(0);
                }
                catch (Exception e)
                {
                    return(-1);
                }
            }
        }
示例#12
0
        public FullUserDto ValidateUser(string email, string password)
        {
            using (var dbContext = new OmContext())
            {
                var user = dbContext.Users.FirstOrDefault(u => u.Email == email && u.Password == password);
                if (user != null)
                {
                    var userWithRoles = new FullUserDto
                    {
                        UserId    = user.UserId,
                        Name      = user.Name,
                        Email     = user.Email,
                        UserRoles = (from ur in dbContext.UserRoles
                                     join r in dbContext.Roles on ur.RoleId equals r.RoleId
                                     where ur.UserId == user.UserId
                                     select new RoleDto {
                            Title = r.Title
                        }).ToList(),
                        UserViews = (from uv in dbContext.UserViews
                                     join v in dbContext.Views on uv.ViewId equals v.ViewId
                                     where uv.UserId == user.UserId
                                     select new ViewDto {
                            Title = v.Title
                        }).ToList()
                    };
                    return(userWithRoles);
                }

                return(null);
            }
        }
示例#13
0
        public ServiceDto UpdateService(ServiceDto serviceDto)
        {
            using (var dbContext = new OmContext())
            {
                try
                {
                    var service = dbContext.Services.FirstOrDefault(s => s.ServiceId == serviceDto.ServiceId);
                    if (service != null)
                    {
                        service.Title = serviceDto.Title;
                        service.Price = serviceDto.Price;
                        dbContext.SaveChanges();
                        return(new ServiceDto()
                        {
                            ServiceId = service.ServiceId,
                            Title = service.Title,
                            Price = service.Price,
                            WorkCategoryId = service.WorkCategoryId
                        });
                    }

                    return(null);
                }
                catch (Exception ex)
                {
                    return(null);
                }
            }
        }
        public WorkCategoryDto AddWorkCategory(WorkCategoryDto workCategoryDto, int userId)
        {
            using (var dbContext = new OmContext())
            {
                try
                {
                    var franchiseAdmin = dbContext.FranchiseAdmins.FirstOrDefault(u => u.UserId == userId);
                    var workcategory   = dbContext.WorkCategory.FirstOrDefault(w => w.Title == workCategoryDto.Title);
                    if (workcategory == null)
                    {
                        WorkCategory newWorkCategory = new WorkCategory
                        {
                            FranchiseId = franchiseAdmin.FranchiseId,
                            Title       = workCategoryDto.Title
                        };

                        dbContext.WorkCategory.Add(newWorkCategory);
                        dbContext.SaveChanges();
                        return(new WorkCategoryDto()
                        {
                            Title = newWorkCategory.Title,
                            WorkCategoryId = newWorkCategory.WorkCategoryId
                        });
                    }

                    return(null);
                }
                catch (Exception ex)
                {
                    return(null);
                }
            }
        }
示例#15
0
 public bool DeleteFranchiseCustomer(int userId)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var user = dbContext.Users.FirstOrDefault(u => u.UserId == userId);
             if (user != null)
             {
                 var worker = dbContext.Customers.FirstOrDefault(u => u.UserId == user.UserId);
                 if (worker != null)
                 {
                     var roles = dbContext.UserRoles.FirstOrDefault(a => a.UserId == user.UserId);
                     dbContext.UserRoles.Remove(roles);
                     dbContext.Customers.Remove(worker);
                     dbContext.Users.Remove(user);
                     dbContext.SaveChanges();
                     return(true);
                 }
                 return(false);
             }
             return(false);
         }
         catch (Exception e)
         {
             return(false);
         }
     }
 }
示例#16
0
        //Update House Owner Location
        public CustomerLocation UpdateLocation(CustomerLocation customerLocation)
        {
            using (var dbContext = new OmContext())
            {
                try
                {
                    var customer = dbContext.Customers.FirstOrDefault(h => h.UserId == customerLocation.UserId);

                    var address = dbContext.Addresses.First(a => a.AddressId == customer.AddressId);
                    address.Latitude  = customerLocation.Latitude;
                    address.Longitude = customerLocation.Longitude;

                    dbContext.SaveChanges();

                    return(new CustomerLocation()
                    {
                        UserId = customer.UserId,
                        Latitude = address.Latitude,
                        Longitude = address.Longitude
                    }
                           );
                }
                catch (Exception ex)
                {
                    return(null);
                }
            }
        }
示例#17
0
 public FranchiseWorkerDto GetFranchiseCustomer(int customerId)
 {
     using (var dbContext = new OmContext())
     {
         var franchises = (from f in dbContext.Franchises
                           join u in dbContext.Users on f.UserId equals u.UserId
                           join ur in dbContext.UserRoles on u.UserId equals ur.UserId
                           join r in dbContext.Roles on ur.RoleId equals r.RoleId
                           where r.Title == "Franchise" && f.UserId == customerId
                           select new FranchiseWorkerDto
         {
             FranchiseId = f.FranchiseId,
             FranchiseName = f.Name,
             FranchiseWorker = new SimpleUserDto
             {
                 UserId = u.UserId,
                 Name = u.Name,
                 Email = u.Email,
                 Password = u.Password,
                 cnic = u.cnic
             }
         }).FirstOrDefault();
         return(franchises);
     }
 }
示例#18
0
 //Getting the list of Jobs of house Owner that has been completed
 public List <JobInfromationDto> getCompletedJobofCustomer(int customerId)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var jobDtos = (from jb in dbContext.Jobs
                            join lc in dbContext.Locations on jb.LocationId equals lc.LocationId
                            join sc in dbContext.Services on jb.ServiceId equals sc.ServiceId
                            join wc in dbContext.WorkCategory on sc.WorkCategoryId equals wc.WorkCategoryId
                            join wr in dbContext.Workers on jb.WorkerId equals wr.WorkerId
                            join us in dbContext.Users on wr.UserId equals us.UserId
                            join fn in dbContext.Franchises on wc.FranchiseId equals fn.FranchiseId
                            where jb.CustomerId == customerId && jb.status == 2
                            orderby jb.CompletedOn descending
                            select new JobInfromationDto
             {
                 JobDto = new JobDto
                 {
                     JobId = jb.JobId,
                     CategoryName = wc.Title,
                     CustomerId = jb.CustomerId,
                     WorkerId = jb.WorkerId,
                     WorkerUserId = wr.UserId,
                     RequestedOn = jb.RequestedOn,
                     CompletedOn = jb.CompletedOn ?? DateTime.Now,
                     status = jb.status,
                     ServiceId = sc.ServiceId,
                     ServiceName = sc.Title,
                     WorkerName = us.Name,
                     Rate = jb.Rate
                 },
                 CustomerDetail = new SimpleUserDto
                 {
                     UserId = us.UserId,
                     Name = us.Name,
                     Email = us.Email,
                     cnic = us.cnic,
                     phone = us.phone
                 },
                 CustomerLocation = new LocationDto
                 {
                     Latitude = lc.Latitude,
                     Longitude = lc.Longitude
                 },
                 ServiceDto = new ServiceDto
                 {
                     Title = sc.Title,
                     Price = sc.Price
                 }
             }).ToList();
             return(jobDtos);
         }
         catch (Exception ex)
         {
             return(null);
         }
     }
 }
示例#19
0
        public List <JobInfromationDto> FranchiseCompletedJobs(int userId)
        {
            using (var dbContext = new OmContext())
            {
                var franchise = dbContext.Franchises.FirstOrDefault(f => f.UserId == userId);
                var jobDtos   = (from jb in dbContext.Jobs
                                 join sc in dbContext.Services on jb.ServiceId equals sc.ServiceId
                                 join wc in dbContext.WorkCategory on sc.WorkCategoryId equals wc.WorkCategoryId
                                 join wr in dbContext.Workers on jb.WorkerId equals wr.WorkerId
                                 join cu in dbContext.Customers on jb.CustomerId equals cu.CustomerId
                                 join us in dbContext.Users on cu.UserId equals us.UserId
                                 join a in dbContext.Addresses on cu.AddressId equals a.AddressId
                                 where cu.FranchiseId == franchise.FranchiseId && jb.status != 2
                                 orderby jb.RequestedOn descending
                                 select new JobInfromationDto
                {
                    JobDto = new JobDto
                    {
                        JobId = jb.JobId,
                        CategoryName = wc.Title,
                        CustomerId = jb.CustomerId,
                        WorkerId = jb.WorkerId,
                        RequestedOn = jb.RequestedOn,
                        status = jb.status,
                        ServiceId = sc.ServiceId,
                        ServiceName = sc.Title,
                        WorkerName = us.Name,
                        Visit = jb.Visit
                    },
                    AddressDto = new AddressDto
                    {
                        Country = a.Country,
                        State = a.State,
                        Street = a.Street,
                        House = a.House,
                        Latitude = a.Latitude,
                        Longitude = a.Longitude
                    },
                    CustomerDetail = new SimpleUserDto
                    {
                        UserId = us.UserId,
                        Name = us.Name,
                        Email = us.Email,
                        cnic = us.cnic,
                        phone = us.phone
                    },
                    ServiceDto = new ServiceDto
                    {
                        Title = sc.Title,
                        Price = sc.Price
                    }
                }).ToList();

                return(jobDtos);
            }
        }
示例#20
0
 public SimpleUserDto GetSuperAdmin(int userId)
 {
     using (var dbContext = new OmContext())
     {
         var superAdmins = (from u in dbContext.Users
                            join ur in dbContext.UserRoles on u.UserId equals ur.UserId
                            join r in dbContext.Roles on ur.RoleId equals r.RoleId
                            where r.Title == "SuperAdmin" && u.UserId == userId
                            select u).FirstOrDefault();
         return(Mapper.Map <SimpleUserDto>(superAdmins));
     }
 }
示例#21
0
 public int getWorkerStatus(int workerId)
 {
     using (var dbContext = new OmContext())
     {
         var worker = dbContext.Workers.FirstOrDefault(u => u.WorkerId == workerId);
         if (worker != null)
         {
             return(worker.status);
         }
         return(-11);
     }
 }
示例#22
0
 public string GetImage(int userId)
 {
     using (var dbContext = new OmContext())
     {
         var image = dbContext.ProfileImages.FirstOrDefault(u => u.UserId == userId);
         if (image == null)
         {
             return(null);
         }
         return(image.ImageUrl);
     }
 }
示例#23
0
 public List <SimpleUserDto> GetAllSuperAdmins()
 {
     using (var dbContext = new OmContext())
     {
         var superAdmins = (from u in dbContext.Users
                            join ur in dbContext.UserRoles on u.UserId equals ur.UserId
                            join r in dbContext.Roles on ur.RoleId equals r.RoleId
                            where r.Title == "SuperAdmin"
                            select u).ToList();
         return(Mapper.Map <List <SimpleUserDto> >(superAdmins));
     }
 }
示例#24
0
 public SimpleUserDto AddSuperAdmin(UserDto fullUserDto)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var user = dbContext.Users.FirstOrDefault(a => a.Email == fullUserDto.Email);
             if (user == null)
             {
                 User newUser = new User()
                 {
                     Name     = fullUserDto.Name,
                     Email    = fullUserDto.Email,
                     Password = fullUserDto.Password,
                     cnic     = fullUserDto.cnic,
                 };
                 dbContext.Users.Add(newUser);
                 var role = dbContext.Roles.FirstOrDefault(r => r.Title == "SuperAdmin");
                 if (role != null)
                 {
                     var userRole = new UserRole
                     {
                         UserId = newUser.UserId,
                         RoleId = role.RoleId
                     };
                     dbContext.UserRoles.Add(userRole);
                     var userView = new List <UserView>
                     {
                         new UserView {
                             UserId = newUser.UserId, ViewId = 1
                         },
                         new UserView {
                             UserId = newUser.UserId, ViewId = 2
                         },
                         new UserView {
                             UserId = newUser.UserId, ViewId = 3
                         }
                     };
                     dbContext.UserViews.AddRange(userView);
                     dbContext.SaveChanges();
                     return(Mapper.Map <SimpleUserDto>(newUser));
                 }
             }
             return(null);
         }
         catch (Exception e)
         {
             return(null);
         }
     }
 }
示例#25
0
 public bool UpdateWorkerStatus(int workerId, int status)
 {
     using (var dbContext = new OmContext())
     {
         var worker = dbContext.Workers.FirstOrDefault(u => u.WorkerId == workerId);
         if (worker != null)
         {
             worker.status = status;
             dbContext.SaveChanges();
             return(true);
         }
         return(false);
     }
 }
示例#26
0
        public bool DeleteSuperAdmin(int userId)
        {
            using (var dbContext = new OmContext())
            {
                var user = dbContext.Users.FirstOrDefault(u => u.UserId == userId);
                if (user != null)
                {
                    dbContext.Users.Remove(user);
                    dbContext.SaveChanges();
                    return(true);
                }

                return(false);
            }
        }
示例#27
0
 public bool UpdateWorkerLocation(int userId, string latitude, string longitude)
 {
     using (var dbContext = new OmContext())
     {
         var worker = dbContext.Workers.FirstOrDefault(u => u.UserId == userId);
         if (worker != null)
         {
             worker.Latitude  = latitude;
             worker.Longitude = longitude;
             dbContext.SaveChanges();
             return(true);
         }
         return(false);
     }
 }
示例#28
0
 public bool JobCancelled(int jobId)
 {
     using (var dbContext = new OmContext())
     {
         try
         {
             var job = dbContext.Jobs.First(j => j.JobId == jobId);
             job.status = -1; //-1 for jon canceled
             dbContext.SaveChanges();
             return(true);
         }
         catch (Exception ex)
         {
             return(false);
         }
     }
 }
示例#29
0
 public bool DeleteFranchiseAdmin(int userId)
 {
     using (var dbContext = new OmContext())
     {
         var user = dbContext.Users.FirstOrDefault(u => u.UserId == userId);
         if (user != null)
         {
             var franchiseAdmin = dbContext.FranchiseAdmins.FirstOrDefault(a => a.UserId == userId);
             var roles          = dbContext.UserRoles.Where(a => a.UserId == userId).ToList();
             var views          = dbContext.UserViews.Where(a => a.UserId == userId).ToList();
             dbContext.UserRoles.RemoveRange(roles);
             dbContext.UserViews.RemoveRange(views);
             dbContext.Users.Remove(user);
             dbContext.SaveChanges();
             return(true);
         }
         return(false);
     }
 }
示例#30
0
 public List <SimpleUserDto> GetAllFranchisesAdmin(int userId)
 {
     using (var dbContext = new OmContext())
     {
         var franchisesAdmins = (from fa in dbContext.FranchiseAdmins
                                 join f in dbContext.Franchises on fa.FranchiseId equals f.FranchiseId
                                 join u in dbContext.Users on fa.UserId equals u.UserId
                                 where f.UserId == userId
                                 select new SimpleUserDto
         {
             UserId = u.UserId,
             Name = u.Name,
             Email = u.Email,
             Password = u.Password,
             cnic = u.cnic
         }).ToList();
         return(franchisesAdmins);
     }
 }