コード例 #1
0
        public static void ApplyJob(CustomJobHistory job, string contractorId)
        {
            using (var dbcontext = new KaamShaamEntities())
            {
                try
                {
                    dbcontext.JobHistories.Add(new JobHistory
                    {
                        Feedback     = "empty",
                        JobStartDate = DateTime.Now,
                        JobEndDate   = DateTime.Now,
                        ContractorId = contractorId,
                        PurposalText = job.PurposalText,
                        JobId        = job.JobId,
                        JobStatus    = (int)KaamShaam.Commons.Enums.JobHistoryStatus.Applying,
                    });
                    dbcontext.SaveChanges();

                    var jobobj     = JobService.GetJobById(job.JobId);
                    var posterUser = UserServices.GetUserById(job.PostedById);
                    KaamShaam.Services.EmailService.SendEmail(posterUser.Email, "Job Activity", "There is a new job proposal on your job '" + jobobj.JobTitle + "'. Visit https://kamsham.pk");
                    KaamShaam.Services.EmailService.SendSms(posterUser.Mobile, "New proposal at your job posted at https://kamsham.pk");
                }
                catch (Exception dfdf)
                {
                }
            }
        }
コード例 #2
0
        public static LocalUser AddUserToRole(MakeAdminModel adminModel)
        {
            using (var dbcontext = new KaamShaamEntities())
            {
                var context     = new ApplicationDbContext();
                var userStore   = new UserStore <ApplicationUser>(context);
                var userManager = new UserManager <ApplicationUser>(userStore);

                var userObj = dbcontext.AspNetUsers.FirstOrDefault(user => user.Id.ToLower() == adminModel.Id);
                try
                {
                    if (userObj != null)
                    {
                        foreach (var role in userObj.AspNetRoles.ToList())
                        {
                            userManager.RemoveFromRole(userObj.Id, role.Name);
                        }
                        userManager.AddToRole(userObj.Id, adminModel.Role);
                    }
                }
                catch (System.Exception xfdf)
                {
                }
                return(userObj?.MapUser());
            }
        }
コード例 #3
0
        public static void AcceptJobProposal(CustomJobHistory job, string contractorId)
        {
            using (var dbcontext = new KaamShaamEntities())
            {
                try
                {
                    var dbjob = dbcontext.Jobs.FirstOrDefault(j => j.Id == job.JobId);
                    if (dbjob != null)
                    {
                        var jhistory = dbjob.JobHistories.ToList();
                        foreach (var history in jhistory)
                        {
                            if (history.ContractorId == job.ContractorId)
                            {
                                history.JobStatus = (int)Commons.Enums.JobHistoryStatus.Continue;
                                history.Feedback  = "Job started with continue status";
                            }
                            else
                            {
                                dbcontext.JobHistories.Remove(history);
                            }
                        }
                        dbcontext.SaveChanges();
                    }

                    var conractUser = UserServices.GetUserById(contractorId);
                    KaamShaam.Services.EmailService.SendEmail(conractUser.Email, "Job Assignment", "You have been assigned a new job '" + dbjob.JobTitle + "'. Visit https://kamsham.pk");
                    KaamShaam.Services.EmailService.SendSms(conractUser.Mobile, "Your proposal for job has been accepted at https://kamsham.pk");
                }
                catch (Exception dfdf)
                {
                }
            }
        }
コード例 #4
0
        public static void MarkJobDone(long jobid, string conId)
        {
            using (var dbcontext = new KaamShaamEntities())
            {
                try
                {
                    var his = dbcontext.JobHistories.FirstOrDefault(hs => hs.JobId == jobid && hs.ContractorId == conId);
                    his.JobStatus = 3;
                    dbcontext.SaveChanges();

                    var myjob = dbcontext.Jobs.FirstOrDefault(jhj => jhj.Id == jobid);
                    myjob.UserStstus = true;

                    var otherHIstoryes = dbcontext.JobHistories.Where(jo => jo.JobId == jobid && jo.Id != his.Id);
                    if (otherHIstoryes != null && otherHIstoryes.Any())
                    {
                        foreach (var oo in otherHIstoryes)
                        {
                            dbcontext.JobHistories.Remove(oo);
                        }
                    }
                    dbcontext.SaveChanges();
                    KaamShaam.Services.EmailService.SendEmail(myjob.AspNetUser.Email, "Job Status Updated - KamSham.Pk", " Your job status has been updated. Please review your jobs section.");
                    KaamShaam.Services.EmailService.SendSms(myjob.AspNetUser.Mobile, "Your job status has been updated at https://kamsham.pk");
                }
                catch (Exception)
                {
                }
            }
        }
コード例 #5
0
        public static void SuspendResumeJob(CustomJobModel job, string loggedInUserid)
        {
            using (var dbcontext = new KaamShaamEntities())
            {
                var dbObj = dbcontext.Jobs.FirstOrDefault(j => j.Id == job.Id);
                if (dbObj != null)
                {
                    var postedByUser = dbObj.AspNetUser;
                    KaamShaam.Services.EmailService.SendEmail(postedByUser.Email, "Job Status Changed - KamSham.Pk", postedByUser.FullName + " We noticed some changes in your job '" + dbObj.JobTitle + "'. Please review your jobs.");
                    KaamShaam.Services.EmailService.SendSms(postedByUser.Mobile, "Please review your changes in jobs at https://kamsham.pk");



                    if (loggedInUserid == dbObj.PostedById)
                    {
                        dbObj.UserStstus = !dbObj.UserStstus;
                    }
                    else
                    {
                        dbObj.AdminStatus = !dbObj.AdminStatus;
                    }
                }
                dbcontext.SaveChanges();
            }
        }
コード例 #6
0
        public static List <CustomJobModel> GetReadyJobs(string loggedInUserId)
        {
            using (var dbcontext = new KaamShaamEntities())
            {
                var jobs = dbcontext.Jobs.Where(j => !j.IsRecycled &&
                                                j.IsApproved && j.UserStstus && !j.IsRecycled && j.AdminStatus).ToList();

                jobs = jobs.Where(j =>
                                  (j.JobHistories.Count == 0 ||
                                   (j.JobHistories.Count > 0 &&
                                    j.JobHistories.All(h => h.JobStatus == (int)Commons.Enums.JobHistoryStatus.Applying)))).ToList();
                var mappedJobs = jobs.Select(j => j.Mapper()).ToList().OrderByDescending(o => o.PostingDateObj).ToList();

                foreach (var obj in mappedJobs)
                {
                    if (obj.JobHistory != null)
                    {
                        obj.IfIApplied = obj.JobHistory.Any
                                             (his =>
                                             his.ContractorId == loggedInUserId &&
                                             his.JobStatus == (int)Commons.Enums.JobHistoryStatus.Applying);
                    }
                }
                return(mappedJobs);
            }
        }
コード例 #7
0
 public static List <Banner> GetActiveBanners()
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         return(dbcontext.Banners.Where(b => b.Status).OrderBy(banner => banner.ShowOrder).ToList());
     }
 }
コード例 #8
0
 public static List <Banner> GetAllBanners()
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         return(dbcontext.Banners.OrderBy(banner => banner.ShowOrder).ToList());
     }
 }
コード例 #9
0
        public static List <CustomJobModel> GetAppliedJobs(string loggedInUserId)
        {
            using (var dbcontext = new KaamShaamEntities())
            {
                var jobs = dbcontext.Jobs.Where(j => !j.IsRecycled &&
                                                j.IsApproved && j.UserStstus).ToList();

                var mappedJobs = jobs.Select(j => j.Mapper()).ToList().OrderByDescending(o => o.PostingDateObj).ToList();
                List <CustomJobModel> tempo = new List <CustomJobModel>();
                foreach (var obj in mappedJobs)
                {
                    if (obj.JobHistory != null)
                    {
                        var isStatus = obj.JobHistory.Any(
                            t =>
                            t.ContractorId == loggedInUserId &&
                            t.JobStatus == (int)Commons.Enums.JobHistoryStatus.Applying);

                        if (isStatus)
                        {
                            obj.IfIApplied = true;
                            tempo.Add(obj);
                        }
                    }
                }
                return(tempo);
            }
        }
コード例 #10
0
 public static CustomJobModel GetJobById(long jobId)
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var jobs = dbcontext.Jobs.FirstOrDefault(job => job.Id == jobId).Mapper();
         return(jobs);
     }
 }
コード例 #11
0
 public static List <GeneralFeedbackModel> GetApprovedFeedbacks()
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var feedback = dbcontext.FeedBacks.Where(feed => feed.IsApproved && (bool)feed.Status).ToList().Select(fd => fd.MapFeedback()).ToList();
         return(feedback);
     }
 }
コード例 #12
0
 public static List <LocalUser> GetAdminUsers()
 {
     using (var context = new KaamShaamEntities())
     {
         var adminUsers = context.AspNetUsers.Where(user => user.AspNetRoles.Any(role => role.Name == "Admin" || role.Name == "Super Admin")).ToList();
         return(adminUsers.Select(admin => admin.MapUser()).ToList());
     }
 }
コード例 #13
0
 public static List <LocalCategory> GetCategories()
 {
     using (var dbContext = new KaamShaamEntities())
     {
         var dbCats = dbContext.Categories.ToList().Select(pbj => pbj.Mapper()).ToList();
         return(dbCats);
     }
 }
コード例 #14
0
 public static void AddBanner(Banner obj)
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         dbcontext.Banners.Add(obj);
         dbcontext.SaveChanges();
     }
 }
コード例 #15
0
ファイル: UserServices.cs プロジェクト: BaqerNaqvi/KaamShaam
 public static List <UserDrowdownModel> GetUserTypeDd(string userType)
 {
     using (var dbContext = new KaamShaamEntities())
     {
         var dbuser = dbContext.AspNetUsers.Where(u => u.Type == userType).ToList().Select(obj => obj.MappDD()).ToList();
         return(dbuser);
     }
 }
コード例 #16
0
 public static List <LocalCategory> GetNotApprovedCategories()
 {
     using (var dbContext = new KaamShaamEntities())
     {
         var dbCats = dbContext.Categories.Where(cat => cat.Status && !cat.IsApproved && string.IsNullOrEmpty(cat.Feedback)).ToList().Select(pbj => pbj.Mapper()).ToList();
         return(dbCats);
     }
 }
コード例 #17
0
 public static List <LocalUser> GetAllUsers()
 {
     using (var context = new KaamShaamEntities())
     {
         var data = context.AspNetUsers.ToList().Select(user => user.MapUser()).ToList();
         return(data);
     }
 }
コード例 #18
0
 public static List <CustomJobModel> GetUserJobs(string userId)
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var jobs = dbcontext.Jobs.Where(j => j.PostedById == userId && !j.IsRecycled).ToList();
         return(jobs.Select(j => j.Mapper()).ToList());
     }
 }
コード例 #19
0
 public static List <GeneralFeedbackModel> GetAllFeedbacks()
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var feedback = dbcontext.FeedBacks.ToList().Select(fd => fd.MapFeedback()).ToList();
         return(feedback);
     }
 }
コード例 #20
0
ファイル: UserServices.cs プロジェクト: BaqerNaqvi/KaamShaam
 public static LocalUser GetUserById(string userId)
 {
     using (var dbContext = new KaamShaamEntities())
     {
         var dbuser = dbContext.AspNetUsers.FirstOrDefault(u => u.Id == userId);
         var model  = dbuser.MapUser();
         return(model);
     }
 }
コード例 #21
0
ファイル: UserServices.cs プロジェクト: BaqerNaqvi/KaamShaam
 public static LocalUser GetUserByPhone(string phone)
 {
     using (var dbContext = new KaamShaamEntities())
     {
         var dbuser = dbContext.AspNetUsers.FirstOrDefault(u => u.Mobile == phone);
         var model  = dbuser.MapUser();
         return(model);
     }
 }
コード例 #22
0
 public static void Feedback(ApiRequestModel model)
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var jobObj = dbcontext.Jobs.FirstOrDefault(job => job.Id == model.JobId);
         jobObj.FeedBack = model.Feedback;
         dbcontext.SaveChanges();
     }
 }
コード例 #23
0
 public static List <CustomJobModel> GetAllJobs(bool isApproved = false)
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var jobs = dbcontext.Jobs.Where(j => !j.IsRecycled &&
                                         j.IsApproved == isApproved && (isApproved || j.UserStstus)).ToList()
                    .OrderByDescending(j => j.PostingDate).ToList();
         return(jobs.Select(j => j.Mapper()).ToList());
     }
 }
コード例 #24
0
ファイル: UserServices.cs プロジェクト: BaqerNaqvi/KaamShaam
        public static void AddUserProperties(RegisterViewModel user, string userId)
        {
            var context     = new ApplicationDbContext();
            var userStore   = new UserStore <ApplicationUser>(context);
            var userManager = new UserManager <ApplicationUser>(userStore);

            using (var dbContext = new KaamShaamEntities())
            {
                DbGeography loc = null;
                if (!String.IsNullOrEmpty(user.LocationCord) && user.LocationCord != "")
                {
                    var latlng = user.LocationCord.Split('_');
                    if (latlng.Length == 2)
                    {
                        loc = Commons.Commons.ConvertLatLonToDbGeography(latlng[1], latlng[0]); // lat _ lng
                    }
                }
                //https://cmatskas.com/working-with-dbgeography-points-and-polygons-in-net/
                var dbuser = dbContext.AspNetUsers.FirstOrDefault(u => u.Id == userId);
                if (dbuser != null)
                {
                    dbuser.FullName = user.FullName;
                    //  dbuser.UserName = user.FullName;
                    dbuser.Type         = user.Type;
                    dbuser.Mobile       = user.Mobile;
                    dbuser.CNIC         = user.CNIC;
                    dbuser.LocationCord = loc;
                    dbuser.LocationName = user.LocationName;

                    //dbuser.ContractorId = user.ContractorId;
                    dbuser.CategoryId = user.CategoryId;

                    dbuser.Status     = true;
                    dbuser.Language   = "English";
                    dbuser.IsApproved = false;
                    dbuser.EditedAt   = DateTime.Now;


                    if (user.Type == "Vendor" || user.Type == "User")
                    {
                        dbuser.ContractorId = null;
                        dbuser.CategoryId   = null;
                        dbuser.IsApproved   = true;
                    }
                    else
                    {
                        dbuser.Feedback = "Admin has not yet verified your account. Please contact admin.";
                    }
                    userManager.AddToRole(userId, user.Type);
                    dbContext.AspNetUsers.AddOrUpdate(dbuser);
                    dbContext.SaveChanges();
                }
            }
        }
コード例 #25
0
 public static List <LocalUser> GetUsersByType(string type)
 {
     using (var context = new KaamShaamEntities())
     {
         var data = context.AspNetUsers
                    .Where(user => user.Type == type && (bool)(user.IsApproved) && (bool)(user.Status) &&
                           !user.AspNetRoles.Any(role => role.Name == "Admin" || role.Name == "Super Admin")).ToList()
                    .Select(user => user.MapUser()).ToList();
         return(data);
     }
 }
コード例 #26
0
 public static void DeleteCat(Category obj)
 {
     using (var context = new KaamShaamEntities())
     {
         var data = context.Categories.FirstOrDefault(x => x.Id == obj.Id);
         if (data != null)
         {
             context.Categories.Remove(data);
             context.SaveChanges();
         }
     }
 }
コード例 #27
0
 public static LocalCategory GetCategoryById(long?id)
 {
     if (id != null)
     {
         using (var dbContext = new KaamShaamEntities())
         {
             var dbCats = dbContext.Categories.FirstOrDefault(obj => obj.Id == id).Mapper();
             return(dbCats);
         }
     }
     return(null);
 }
コード例 #28
0
 public static List <CustomJobModel> GetMyCurrentJobsForContractor(string loggedInUserId)
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var jobs = dbcontext.Jobs.Where(j => !j.IsRecycled &&
                                         j.IsApproved && j.UserStstus && j.JobHistories.Any(
                                             t => t.ContractorId == loggedInUserId &&
                                             t.JobStatus == (int)Commons.Enums.JobHistoryStatus.Continue)).ToList();
         var mappedJobs = jobs.Select(j => j.Mapper()).ToList().OrderByDescending(j => j.PostingDateObj).ToList();
         return(mappedJobs);
     }
 }
コード例 #29
0
 public static bool IsUserApproved(string userName)
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var dbo = dbcontext.AspNetUsers.FirstOrDefault(u => u.UserName.ToLower() == userName.ToLower());
         if (dbo != null)
         {
             return((bool)dbo.IsApproved && (bool)dbo.Status);
         }
         return(false);
     }
 }
コード例 #30
0
 public static LocalUser FindUserByUsername(string username)
 {
     using (var dbcontext = new KaamShaamEntities())
     {
         var userObj = dbcontext.AspNetUsers.FirstOrDefault(user => user.UserName.ToLower() == username.ToLower());
         if (userObj != null)
         {
             return(userObj.MapUser());
         }
         return(null);
     }
 }