public ActionResult CreditPackageGrid() { List <CreditPackageViewModel> retData = new List <CreditPackageViewModel>(); var leadTypesList = creditPackageService.GetAllCreditPackages().OrderBy(x => x.PackageName).ToList(); int iCount = 0; foreach (var l in leadTypesList) { iCount += 1; retData.Add(new CreditPackageViewModel() { Id = l.Id, SNo = iCount, Status = l.IsActive == true ? "Active" : "InActive", CreatedDate = l.CreatedAt.ToString("dd-MMM-yyyy hh:mm:ss tt"), IsActive = l.IsActive, PackageName = l.PackageName, Credits = l.Credits, CreditsStr = LeadsHelpers.ToUsNumberFormat(l.Credits), Price = l.Price, EditBtn = "<button type='button' class='btn btn-primary m-b-10 btnedit btn-sm' data-id='" + l.Id + "' data-packagename='" + l.PackageName + "' data-credits='" + l.Credits + "' data-price='" + l.Price + "' data-status='" + l.IsActive + "' data-id='" + l.Id + "'><i class='fa fa-pencil-square-o'></i> Edit</button>" }); } var jsonData = new { data = from emp in retData select emp }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); }
public ActionResult UserScrubsGrid() { var Leads = leadService.GetLeadTypes().ToList(); List <UserScrubsGridModel> retData = new List <UserScrubsGridModel>(); var userScrubs = userScrubService.GetScrubsByUserId(this.CurrentLoggedInUser.Id); int iCount = 0; foreach (var u in userScrubs) { iCount += 1; List <int> leadTypes = JsonConvert.DeserializeObject <List <DropDownModel> >(u.LeadTypeIds).Select(x => x.Id).ToList(); string InputExtensions = u.InputFilePath.Split('.')[1]; retData.Add(new UserScrubsGridModel() { Sno = iCount, ScrubCredits = LeadsHelpers.ToUsNumberFormat(u.ScrubCredits), CreatedAt = u.CreatedDate.ToString("dd-MMM-yyyy hh:mm:ss tt"), LeadType = String.Join(",", Leads.Where(x => leadTypes.Contains(x.Id)).Select(x => x.Name).ToList()), Matched = "Matched- " + u.MatchedCount + " <a href='" + u.MatchedPath + ".csv' style='cursor:pointer' download='Matched-" + u.Id + ".csv'><i class='fa fa-download' ></i></a><br>" + "Clean- " + u.UnMatchedCount + " <a href='" + u.UnMatchedPath + ".csv' style='cursor:pointer' download='UnMatched-" + u.Id + ".csv'><i class='fa fa-download' ></i></a>", Duration = u.Duration, InputFile = "Input File <a href='" + u.InputFilePath + "' style='cursor:pointer' download='InputFile-" + u.Id + "." + InputExtensions + "'><i class='fa fa-download' ></i></a>", }); } var jsonData = new { data = from emp in retData select emp }; return(new JsonResult() { Data = jsonData, JsonRequestBehavior = JsonRequestBehavior.AllowGet, MaxJsonLength = Int32.MaxValue }); }
public ActionResult Index(string email, string password) { string passwordEncrpted = LeadsHelpers.Encrypt(password); var userData = _userService.ValidateUserByEmailId(email, passwordEncrpted); if (userData != null) { if (userData.StatusId == 1)//Pending Activation { ModelState.AddModelError("", "Pending for activation, please contact admin"); } else if (userData.StatusId == 3)//InActive { ModelState.AddModelError("", "User is Inactive, please contact admin"); } else { FormsAuthentication.SetAuthCookie(email, true); if (userData.IsAdmin) { return(RedirectToAction("Dashboard", "Admin")); } else { return(RedirectToAction("Dashboard", "Users")); } } } else { ModelState.AddModelError("", "Incorrect Email & Password"); } return(View()); }
public JsonResult GetUserCreditsDetails() { var usedCredits = userScrubService.GetScrubsByUserId(this.CurrentLoggedInUser.Id).Sum(x => x.ScrubCredits); var userTotalCredits = this.CurrentLoggedInUser.CreditScore; var remainingCredits = userTotalCredits - usedCredits; return(Json(new { remainingCredits = LeadsHelpers.ToUsNumberFormat(remainingCredits), totalCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits), }, JsonRequestBehavior.AllowGet)); }
public ActionResult UserCreditLogGrid() { List <UserCreditLogGridViewModel> retData = new List <UserCreditLogGridViewModel>(); var userCreditLogs = userCreditLogsService.GetAllUserCreditLogs().Where(x => x.UserId == CurrentLoggedInUser.Id).ToList(); int iCount = 0; foreach (var u in userCreditLogs) { iCount += 1; retData.Add(new UserCreditLogGridViewModel() { SNo = iCount, Id = u.Id, Date = u.CreatedAt.ToString("dd-MMM-yyyy hh:mm:ss tt"), CreatedAt = u.CreatedAt, Credits = LeadsHelpers.ToUsNumberFormat(u.Credits), DisCountPercentage = u.DiscountPercentage.ToString(), AmountPaid = Math.Round(u.FinalAmount, 2).ToString(), PackageName = creditPackageService.GetAllCreditPackages().FirstOrDefault(x => x.Id == u.PackageId).PackageName }); } var usersRefered = userService.GetUsers().Where(x => x.ReferedUserId.HasValue && x.ReferedUserId.Value == CurrentLoggedInUser.Id).ToList(); var referalCreditsList = userCreditLogsService.GetAllUserCreditLogs().ToList().Where(x => usersRefered.Select(y => y.Id).Contains(x.UserId)); foreach (var u in referalCreditsList) { iCount += 1; var thisUser = usersRefered.Where(x => x.Id == u.UserId).FirstOrDefault(); retData.Add(new UserCreditLogGridViewModel() { SNo = iCount, Id = u.Id, Date = u.CreatedAt.ToString("dd-MMM-yyyy hh:mm:ss tt"), CreatedAt = u.CreatedAt, Credits = LeadsHelpers.ToUsNumberFormat(u.ReferalUserCredits), DisCountPercentage = "-", AmountPaid = "-", PackageName = "Referral Bonus From " + thisUser.Name }); } retData = retData.OrderByDescending(x => x.CreatedAt).ToList(); var jsonData = new { data = from emp in retData select emp }; return(new JsonResult() { Data = jsonData, JsonRequestBehavior = JsonRequestBehavior.AllowGet, MaxJsonLength = Int32.MaxValue }); }
public ActionResult UsersGrid() { var userScrubLogs = userScrubService.GetAllUserScrubs().ToList(); List <UserGridViewModel> retData = new List <UserGridViewModel>(); retData = userService.GetUsers().Where(x => x.IsAdmin == false).ToList().Select(x => new UserGridViewModel { Id = x.Id, Name = x.Name, Email = x.Email, Phone = x.Phone, Password = x.Password, CreatedAt = x.CreatedAt.ToString("dd-MMM-yyyy hh:mm:ss tt"), CreditScore = x.CreditScore, Status = userService.GetStatusById(x.StatusId), ModifiedAt = x.ModifiedAt.HasValue?x.ModifiedAt.Value.ToString("dd-MMM-yyyy hh:mm:ss tt"):string.Empty, StatusId = x.StatusId, ReferalCode = x.ReferalCode, ReferedById = x.ReferedUserId.HasValue ? x.ReferedUserId.Value : 0, DiscountPercentage = x.DiscountPercentage.HasValue?x.DiscountPercentage.Value:0 }).ToList(); int iCount = 0; foreach (var r in retData) { iCount += 1; r.SNo = iCount; r.CreditScoreStr = LeadsHelpers.ToUsNumberFormat(r.CreditScore - userScrubLogs.Where(x => x.UserId == r.Id).Sum(x => x.ScrubCredits)); if (r.StatusId == 1) { r.EditBtn = "<button type='button' class='btn btn-success m-b-10 btnapprove btn-sm' data-id='" + r.Id + "'data-discountPercentage='" + r.DiscountPercentage + "' data-score='" + r.CreditScore + "'>Approve</button>"; } else if (r.StatusId == 2) { r.EditBtn = "<button type='button' class='btn btn-danger m-b-10 btninactivate btn-sm' data-id='" + r.Id + "' data-discountPercentage='" + r.DiscountPercentage + "' data-score='" + r.CreditScore + "'>In-Activate</button> " + "<button type = 'button' class='btn btn-success m-b-10 btnedit btn-sm' data-id='" + r.Id + "' data-discountPercentage='" + r.DiscountPercentage + "' data-status='" + r.StatusId + "' data-score='" + r.CreditScore + "'>Edit</button>"; } else { r.EditBtn = "<button type='button' class='btn btn-primary m-b-10 btnactivate btn-sm' data-id='" + r.Id + "' data-discountPercentage='" + r.DiscountPercentage + "' data-score='" + r.CreditScore + "'>Activate</button> " + "<button type = 'button' class='btn btn-success m-b-10 btnedit btn-sm' data-id='" + r.Id + "' data-discountPercentage='" + r.DiscountPercentage + "' data-status='" + r.StatusId + "' data-score='" + r.CreditScore + "'>Edit</button>"; } if (r.ReferedById != 0) { r.RefedByUserName = userService.GetUsers().FirstOrDefault(x => x.Id == r.ReferedById).Name; } } var jsonData = new { data = from emp in retData select emp }; return(Json(jsonData, JsonRequestBehavior.AllowGet)); }
private DataTable ReadExcelFile(string ext, string path, ref string phoneCol) { DataTable excelDt = new DataTable(); FileStream stream = System.IO.File.Open(path, FileMode.Open, FileAccess.Read); IExcelDataReader excelReader = null; if (ext == ".xls") { excelReader = ExcelReaderFactory.CreateBinaryReader(stream); } else { excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream); } int fieldcount = excelReader.FieldCount; int rowcount = excelReader.RowCount; DataRow row; DataTable dt_ = new DataTable(); dt_ = excelReader.AsDataSet().Tables[0]; for (int i = 0; i < dt_.Columns.Count; i++) { var thisCol = dt_.Rows[0][i].ToString(); excelDt.Columns.Add(thisCol); if (filterCols.Split(',').ToList().Contains(thisCol)) { phoneCol = thisCol; } } int rowcounter = 0; for (int row_ = 1; row_ < dt_.Rows.Count; row_++) { row = excelDt.NewRow(); for (int col = 0; col < dt_.Columns.Count; col++) { row[col] = LeadsHelpers.ProcessNumber(dt_.Rows[row_][col].ToString()); rowcounter++; } excelDt.Rows.Add(row); } excelReader.Close(); excelReader.Dispose(); return(excelDt); }
public ActionResult Scrubber() { ViewBag.IsFileError = "false"; ViewBag.CurrentUser = this.CurrentLoggedInUser; ViewBag.LeadTypesList = leadService.GetLeadTypes().Where(x => x.IsActive == true).ToList().Select(x => new DropDownModel() { Name = x.Name, Id = x.Id }).OrderBy(x => x.Name).ToList(); var usedCredits = userScrubService.GetScrubsByUserId(this.CurrentLoggedInUser.Id).Sum(x => x.ScrubCredits); var userTotalCredits = this.CurrentLoggedInUser.CreditScore; ViewBag.remainingCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits - usedCredits); ViewBag.totalCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits); ViewBag.NoCredits = false; return(View()); }
private DataTable ReadCsvFile(string path, ref string phoneCol) { string empty = string.Empty; DataTable dtCsv = new DataTable(); string Fulltext; using (StreamReader sr = new StreamReader(path)) { while (!sr.EndOfStream) { Fulltext = sr.ReadToEnd().ToString(); //read full file text string[] rows = Fulltext.Split('\n'); //split full file text into rows for (int i = 0; i < rows.Count() - 1; i++) { string[] rowValues = rows[i].Split(','); //split each row with comma to get individual values { if (i == 0) { for (int j = 0; j < rowValues.Count(); j++) { var thisCol = rowValues[j]; dtCsv.Columns.Add(thisCol.Replace("\r", "")); //add headers if (filterCols.Split(',').ToList().Contains(thisCol.Replace("\r", "")) || filterCols.Split(',').ToList().Contains(thisCol.Replace("\r", ""))) { phoneCol = thisCol.Replace("\r", ""); } } } else { DataRow dr = dtCsv.NewRow(); for (int k = 0; k < rowValues.Count(); k++) { dr[k] = LeadsHelpers.ProcessNumber(rowValues[k].Replace("\r", "").ToString()); } dtCsv.Rows.Add(dr); //add other rows } } } } } return(dtCsv); }
public ActionResult ForgotPassword(string email, string password, string confirmpassword) { if (_userService.GetUsers().Where(x => x.Email == email).Any()) { if (password != confirmpassword) { ModelState.AddModelError("", "Confirm Password and Password do not match"); return(View()); } password = LeadsHelpers.Encrypt(password); _userService.UpdateUserPassword(email, password); return(RedirectToAction("ResetPasswordCompleted", "Login")); } else { ModelState.AddModelError("", "Email does not exists"); } return(View()); }
public ActionResult UserCreditLogsGrid(DateTime date) { List <UserCreditLogGridViewModel> retData = new List <UserCreditLogGridViewModel>(); var userCreditLogs = userCreditLogsService.GetAllUserCreditLogs().ToList().Where(x => x.CreatedAt.Date == date.Date); var users = userService.GetUsers().ToList(); int iCount = 0; foreach (var u in userCreditLogs) { var thisUser = users.Where(x => x.Id == u.UserId).FirstOrDefault(); string ReferalDetails = string.Empty; if (thisUser.ReferedUserId.HasValue && thisUser.ReferedUserId.Value > 0) { ReferalDetails = string.Format("Referral Bonus {0} to {1}", LeadsHelpers.ToUsNumberFormat(u.ReferalUserCredits), users.Where(x => x.Id == thisUser.ReferedUserId.Value).FirstOrDefault().Name); } iCount += 1; retData.Add(new UserCreditLogGridViewModel() { SNo = iCount, Id = u.Id, UserName = thisUser.Name, Date = u.CreatedAt.ToString("dd-MMM-yyyy hh:mm:ss tt"), CreatedAt = u.CreatedAt, Credits = LeadsHelpers.ToUsNumberFormat(u.Credits), DisCountPercentage = u.DiscountPercentage.ToString(), AmountPaid = Math.Round(u.FinalAmount, 2).ToString(), PackageName = creditPackageService.GetAllCreditPackages().FirstOrDefault(x => x.Id == u.PackageId).PackageName, ReferalInfo = ReferalDetails }); } retData = retData.OrderByDescending(x => x.CreatedAt).ToList(); var jsonData = new { data = from emp in retData select emp }; return(new JsonResult() { Data = jsonData, JsonRequestBehavior = JsonRequestBehavior.AllowGet, MaxJsonLength = Int32.MaxValue }); }
public ActionResult Signup(UserViewModel user) { if (ModelState.IsValid) { if (_userService.GetUsers().Where(x => x.Email == user.Email).Any()) { ModelState.AddModelError("Email", "Email already in use."); return(View(user)); } else if (!string.IsNullOrEmpty(user.ReferedByCode) && !_userService.GetUsers().Where(x => x.ReferalCode.ToLower() == user.ReferedByCode.ToLower()).Any()) { ModelState.AddModelError("ReferedByCode", "Referral code does not exist's"); return(View(user)); } else { user.Password = LeadsHelpers.Encrypt(user.Password); _userService.SaveUser(user); return(RedirectToAction("SignUpCompleted", "Login")); } } return(View(user)); }
public ActionResult PerformUserScrub(FormCollection formCollection, string PhoneNos, string SelectedLeads) { bool isError = false; try { var used = userScrubService.GetScrubsByUserId(this.CurrentLoggedInUser.Id).Sum(x => x.ScrubCredits); Stopwatch sw = Stopwatch.StartNew(); List <int> selectedLeads = JsonConvert.DeserializeObject <List <DropDownModel> >(SelectedLeads).Select(x => x.Id).ToList(); if (string.IsNullOrEmpty(PhoneNos)) { HttpPostedFileBase file = Request.Files["ScrubFile"]; if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName)) { string ext = Path.GetExtension(file.FileName); string newFileName = Guid.NewGuid().ToString(); string path = Path.Combine(Server.MapPath("~/Content/DataLoads/"), newFileName + ext); file.SaveAs(path); List <long> UserScrubPhonesList = new List <long>(); DataTable excelDt = new DataTable(); string phoneCol = string.Empty; List <DropDownModel> dt = new List <DropDownModel>(); if (ext.ToLower() == ".csv") { excelDt = ReadCsvFile(path, ref phoneCol); dt = FilterDatatableColoumn(excelDt.AsEnumerable(), excelDt, phoneCol); } else { excelDt = ReadExcelFile(ext, path, ref phoneCol); dt = FilterDatatableColoumn(excelDt.AsEnumerable(), excelDt, phoneCol); } foreach (var r in dt) { long number; bool isSuccess = Int64.TryParse(r.Name, out number); if (isSuccess) { UserScrubPhonesList.Add(number); } } if (UserScrubPhonesList.Count > 0) { if ((this.CurrentLoggedInUser.CreditScore - used) >= UserScrubPhonesList.Count()) { var matchedList = leadService.ScrubPhoneNos(selectedLeads, UserScrubPhonesList).ToList(); var unmatchedCount = UserScrubPhonesList.Except(matchedList).ToList(); var dtList = excelDt.AsEnumerable(); var matchedDt = GetFilteredPhones(dtList, matchedList, phoneCol); var unMatchedDt = GetFilteredPhones(dtList, unmatchedCount, phoneCol); sw.Stop(); // Matched File Create string matchedFileName = Guid.NewGuid().ToString(); CreatedDataTableCSV(matchedDt, matchedFileName); // UnMatched File Create string unMatchedFileName = Guid.NewGuid().ToString(); CreatedDataTableCSV(unMatchedDt, unMatchedFileName); userScrubService.SaveUserScrub(UserScrubPhonesList.Count(), this.CurrentLoggedInUser.Id, SelectedLeads, matchedList.Count(), unmatchedCount.Count(), matchedFileName, unMatchedFileName, newFileName + ext, sw.Elapsed.Seconds); } else { ViewBag.NoCredits = true; ViewBag.IsFileError = false; ViewBag.CurrentUser = this.CurrentLoggedInUser; ViewBag.LeadTypesList = leadService.GetLeadTypes().Where(x => x.IsActive == true).ToList().Select(x => new DropDownModel() { Name = x.Name, Id = x.Id }).OrderBy(x => x.Name).ToList(); var usedCredits1 = userScrubService.GetScrubsByUserId(this.CurrentLoggedInUser.Id).Sum(x => x.ScrubCredits); var userTotalCredits1 = this.CurrentLoggedInUser.CreditScore; ViewBag.remainingCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits1 - usedCredits1); ViewBag.totalCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits1); return(View("Scrubber")); } } } } else { List <string> inputList = PhoneNos.Split(',').ToList(); List <long> UserScrubPhonesList = new List <long>(); foreach (var i in inputList) { long number; bool isSuccess = Int64.TryParse(LeadsHelpers.ProcessNumber(i), out number); if (isSuccess) { UserScrubPhonesList.Add(number); } } if (UserScrubPhonesList.Count > 0) { if ((this.CurrentLoggedInUser.CreditScore - used) >= UserScrubPhonesList.Count()) { var matchedList = leadService.ScrubPhoneNos(selectedLeads, UserScrubPhonesList).ToList(); var unmatchedCount = UserScrubPhonesList.Except(matchedList).ToList(); sw.Stop(); //InputFile Create string inputFileName = Guid.NewGuid().ToString(); CreateSaveCsvFile(inputFileName, UserScrubPhonesList); //Matched File Create string matchedFileName = Guid.NewGuid().ToString(); CreateSaveCsvFile(matchedFileName, matchedList); // UnMatched File Create string unMatchedFileName = Guid.NewGuid().ToString(); CreateSaveCsvFile(unMatchedFileName, unmatchedCount); userScrubService.SaveUserScrub(UserScrubPhonesList.Count(), this.CurrentLoggedInUser.Id, SelectedLeads, matchedList.Count(), unmatchedCount.Count(), matchedFileName, unMatchedFileName, inputFileName + ".csv", sw.Elapsed.Seconds); } else { ViewBag.NoCredits = true; ViewBag.IsFileError = false; ViewBag.CurrentUser = this.CurrentLoggedInUser; ViewBag.LeadTypesList = leadService.GetLeadTypes().Where(x => x.IsActive == true).ToList().Select(x => new DropDownModel() { Name = x.Name, Id = x.Id }).OrderBy(x => x.Name).ToList(); var usedCredits1 = userScrubService.GetScrubsByUserId(this.CurrentLoggedInUser.Id).Sum(x => x.ScrubCredits); var userTotalCredits1 = this.CurrentLoggedInUser.CreditScore; ViewBag.remainingCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits1 - usedCredits1); ViewBag.totalCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits1); return(View("Scrubber")); } } } } catch (Exception ex) { isError = true; } ViewBag.NoCredits = false; ViewBag.IsFileError = isError; ViewBag.CurrentUser = this.CurrentLoggedInUser; ViewBag.LeadTypesList = leadService.GetLeadTypes().Where(x => x.IsActive == true).ToList().Select(x => new DropDownModel() { Name = x.Name, Id = x.Id }).OrderBy(x => x.Name).ToList(); var usedCredits = userScrubService.GetScrubsByUserId(this.CurrentLoggedInUser.Id).Sum(x => x.ScrubCredits); var userTotalCredits = this.CurrentLoggedInUser.CreditScore; ViewBag.remainingCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits - usedCredits); ViewBag.totalCredits = LeadsHelpers.ToUsNumberFormat(userTotalCredits); return(View("Scrubber")); }