/// <summary> /// Active or inactive user by UserId /// </summary> /// <param name="UserId">Id of the User</param> /// <returns>Returns TRUE or FALSE</returns> public static bool ActiveInactiveUser(int UserId) { try { if (UserId <= 0) return false; UserDTO UserDTO = new UserDTO(); UserDTO = GetById(UserId); if (UserDTO == null) return false; if (UserDTO.IsActive == true) { UserDTO.IsActive = false; Edit(UserDTO); return true; } else { UserDTO.IsActive = true; Edit(UserDTO); return true; } } catch { throw; } }
/// <summary> /// Create User /// </summary> /// <param name="UserDTO">UserDTO object</param> /// <returns>This will return user details</returns> public static UserDTO Create(UserDTO UserDTO) { //if (UserDTO.Mobile == null && UserDTO.Mobile == "") //{ // return null; //} GlobalSettings.LoggedInClientId = UserDTO.ClientId; int PartnerId = ClientService.GetById(UserDTO.ClientId).PartnerId; GlobalSettings.LoggedInPartnerId = PartnerId; try { var User = new User(); using (var uow = new UnitOfWork()) { UserDTO.IsActive = true; //UserDTO.UserType = "Admin"; User = Transform.UserToDomain(UserDTO); uow.UserRepo.Insert(User); uow.SaveChanges(); CommonService.SendEmail("msgBlaster Login details", "Hello " + User.FirstName + ", <br/><br/> <p>Your msgBlaster username and Password is as follows - </p> <br/> <table><tr><td> Username</td><td> = " + User.Email + "</td></tr><tr><td>Password</td><td> = " + User.Password + "</td></tr></table>", User.Email, "", false); if (User.Id > 0) { UserDTO.Id = User.Id; return UserDTO; } else throw new OperationCanceledException("Insert operation terminated"); } } //catch (LoggedInUserException) //{ // throw new System.TimeoutException(); //} catch (Exception) { throw; } }
//Get reedeemed count by clinet id and campaign id public static List<RedeemedCountDTO> GetByClientId(int ClientId, int CampaignId) { List<RedeemedCountDTO> RedeemedCountDTOList = new List<RedeemedCountDTO>(); try { UnitOfWork uow = new UnitOfWork(); IEnumerable<RedeemedCount> RedeemedCount = uow.RedeemedCountRepo.GetAll().Where(e => e.ClientId == ClientId && e.EcouponCampaignId == CampaignId); if (RedeemedCount != null) { foreach (var item in RedeemedCount) { EcouponCampaignDTO EcouponCampaignDTO = new EcouponCampaignDTO(); EcouponCampaignDTO = EcouponCampaignService.GetById(item.EcouponCampaignId); if (EcouponCampaignDTO.ExpiresOn > System.DateTime.Now) { RedeemedCountDTO RedeemedCountDTO = new RedeemedCountDTO(); RedeemedCountDTO = Transform.RedeemedCountToDTO(item); UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(item.UserId); RedeemedCountDTO.UserName = UserDTO.Name; RedeemedCountDTO.Location = LocationService.GetById(UserDTO.LocationId).Name; ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(ClientId); RedeemedCountDTO.ClientName = ClientDTO.Company; RedeemedCountDTO.CampaignName = EcouponCampaignDTO.Title; RedeemedCountDTOList.Add(RedeemedCountDTO); } } } return RedeemedCountDTOList; } catch { // throw; return RedeemedCountDTOList; } }
public void EditUser(string accessId, UserDTO UserDTO) { try { UserService.Edit(UserDTO); } catch (TimeoutException) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.RequestTimeout) { Content = new StringContent("An error occurred, please try again or contact the administrator."), ReasonPhrase = "Critical Exception" }); } catch (Exception) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent("An error occurred, please try again or contact the administrator."), ReasonPhrase = "Critical Exception" }); } }
/// <summary> /// Send mail to the user after he forgotten his password /// </summary> /// <param name="Email">Email of the user</param> /// <returns>If mail present then mail sent to that mail and returns TRUE for success if FALSE then it will be either inactive or not present</returns> public static bool ForgotPassword(string Email) { try { UnitOfWork uow = new UnitOfWork(); UserDTO UserDTO = new UserDTO(); IEnumerable<User> User = uow.UserRepo.GetAll().Where(e => e.Email.ToLower() == Email.ToLower() && e.IsActive == true); if (User.ToList().Count > 0) { foreach (var item in User) { UserDTO = Transform.UserToDTO(item); } CommonService.SendEmail("msgBlaster Login details", "Hello " + UserDTO.Name + ", <br/><br/> <p>Your msgBlaster username and password is as follows - </p> <br/> <table><tr><td> Username</td><td> = " + UserDTO.Email + "</td></tr><tr><td>Password</td><td> = " + UserDTO.Password + "</td></tr></table>", UserDTO.Email, "", false); return true; } else return false; } catch { throw; } }
/// <summary> /// Edit User /// </summary> /// <param name="UserDTO"> Modify the user as per provided user details </param> public static void Edit(UserDTO UserDTO) { //if (UserDTO.Mobile != null && UserDTO.Mobile != "") //{ try { GlobalSettings.LoggedInClientId = UserDTO.ClientId; GlobalSettings.LoggedInUserId = UserDTO.Id; int PartnerId = ClientService.GetById(UserDTO.ClientId).PartnerId; GlobalSettings.LoggedInPartnerId = PartnerId; UserDTO UserDTOOld = new UserDTO(); UserDTOOld = GetById(UserDTO.Id); UnitOfWork uow = new UnitOfWork(); User User = Transform.UserToDomain(UserDTO); uow.UserRepo.Update(User); uow.SaveChanges(); //if (UserDTOOld.Password != UserDTO.Password || UserDTOOld.Email != UserDTO.Email) //{ // CommonService.SendEmail("Your msgBlaster Login details are modified", "Hello " + User.Name + ", <br/><br/> <p>Your latest msgBlaster username and Password is as follows - </p> <br/> <table><tr><td> Username</td><td> = " + User.Email + "</td></tr><tr><td>Password</td><td> = " + User.Password + "</td></tr></table>", User.Email, "", false); //} } catch { throw; } //} }
//Get credit request list by client id public static List<CreditRequestDTO> GetCreditRequestsbyClientId(int ClientId, string search) { List<CreditRequestDTO> CreditRequestDTOList = new List<CreditRequestDTO>(); try { UnitOfWork uow = new UnitOfWork(); IEnumerable<CreditRequest> CreditRequest = uow.CreditRequestRepo.GetAll().Where(e => e.ClientId == ClientId).OrderByDescending(e => e.Date).ToList(); if (CreditRequest != null) { if (search != "" & search != null) { bool IsDate = CommonService.IsDate(search); if (IsDate != true) { // string search // var CreditRequestsearch = CreditRequest.Where(e => e.Amount.ToString().Contains(search.ToLower()) || e.ClientId.ToString().Contains(search) || e.GrandTotal.ToString().Contains(search) || e.IsProvided.ToString().Contains(search) || e.OldBalance.ToString().Contains(search) || e.PartnerId.ToString().Contains(search) || e.RatePerSMS.ToString().Contains(search) || e.RequestedCredit.ToString().Contains(search) || e.Tax.ToString().Contains(search)); var CreditRequestsearch = CreditRequest.Where(e => e.OldBalance.ToString() == (search) || e.RatePerSMS.ToString() == (search) || e.RequestedCredit.ToString() == (search)).OrderByDescending(e => e.Date); if (CreditRequestsearch != null) { foreach (var item in CreditRequestsearch) { CreditRequestDTO CreditRequestDTO = new CreditRequestDTO(); CreditRequestDTO = Transform.CreditRequestToDTO(item); ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(item.ClientId); CreditRequestDTO.ClientName = ClientDTO.Company; UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(item.RequestedBy); CreditRequestDTO.UserName = UserDTO.Name; CreditRequestDTOList.Add(CreditRequestDTO);// (Transform.CreditRequestToDTO(item)); } } return CreditRequestDTOList; } else { //date wise search DateTime date = Convert.ToDateTime(search); var CreditRequestsearch = CreditRequest.Where(e => e.Date >= date && e.Date < date.AddDays(1) || e.ProvidedDate >= date && e.ProvidedDate < date.AddDays(1)).OrderByDescending(e => e.Date); if (CreditRequestsearch != null) { foreach (var item in CreditRequestsearch) { CreditRequestDTO CreditRequestDTO = new CreditRequestDTO(); CreditRequestDTO = Transform.CreditRequestToDTO(item); ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(item.ClientId); CreditRequestDTO.ClientName = ClientDTO.Company; UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(item.RequestedBy); CreditRequestDTO.UserName = UserDTO.Name; CreditRequestDTOList.Add(CreditRequestDTO);// (Transform.CreditRequestToDTO(item)); } } return CreditRequestDTOList; } } else { foreach (var item in CreditRequest) { CreditRequestDTO CreditRequestDTO = new CreditRequestDTO(); CreditRequestDTO = Transform.CreditRequestToDTO(item); ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(item.ClientId); CreditRequestDTO.ClientName = ClientDTO.Company; UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(item.RequestedBy); CreditRequestDTO.UserName = UserDTO.Name; CreditRequestDTOList.Add(CreditRequestDTO);// (Transform.CreditRequestToDTO(item)); } } } return CreditRequestDTOList; } catch (Exception) { throw; } }
//Return Coupon redeemed list as per client public static List<CouponDTO> GetCouponListByClientIdWithRedeem(int ClientId) { List<CouponDTO> CouponDTOList = new List<CouponDTO>(); try { using (var uow = new UnitOfWork()) { IEnumerable<EcouponCampaign> EcouponCampaign = uow.EcouponCampaignRepo.GetAll().Where(e => e.ClientId == ClientId); //var EcouponCampaigncoupons = from c in EcouponCampaign where (from g in c.Coupons where c.ClientId == ClientId select g).Any() select c; if (EcouponCampaign != null) { foreach (var item in EcouponCampaign) { IEnumerable<Coupon> Coupon = uow.CouponRepo.GetAll().Where(e => e.EcouponCampaignId == item.Id && e.IsRedeem == true); if (Coupon != null) { foreach (var itemCoupon in Coupon) { CouponDTO CouponDTO = new CouponDTO(); if (itemCoupon.EcouponCampaignId == item.Id) { UserDTO UserDTO = new UserDTO(); CouponDTO = Transform.CouponToDTO(itemCoupon); if (CouponDTO.UserId != null) { int UserId = (int)CouponDTO.UserId; UserDTO = UserService.GetById(UserId); CouponDTO.UserName = UserDTO.Name; } else { CouponDTO.UserName = ""; } CouponDTOList.Add(CouponDTO); // CouponDTOList.Add(Transform.CouponToDTO(itemCoupon)); } } } } } } return CouponDTOList; } //catch (LoggedInUserException) //{ // throw new System.TimeoutException(); //} catch (Exception) { throw; } }
//GetClientUserByEmailAndPassword /// <summary> /// Sign In user /// </summary> /// <param name="Email">Email Id of active user</param> /// <param name="Password">Password of the active user</param> /// <returns></returns> public static UserDTO SignIn(string Email, string Password) { try { UserDTO UserDTO = new UserDTO(); List<UserDTO> UserDTOList = new List<UserDTO>(); UnitOfWork uow = new UnitOfWork(); IEnumerable<User> User = uow.UserRepo.GetAll().Where(e => e.Email.ToLower() == Email.ToLower() && e.Password == Password && e.IsActive == true); if (User != null) { foreach (var item in User) { //ClientDTOList.Add(Transform.ClientToDTO(item)); UserDTO = Transform.UserToDTO(item); GlobalSettings.LoggedInUserId = UserDTO.Id; UserDTO.UserAccessPrivileges = GetUserAccess(UserDTO.UserType.ToString()); // Check Client is Active or not ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(UserDTO.ClientId); GlobalSettings.LoggedInClientId = ClientDTO.Id; if (ClientDTO.IsActive != true) { UserDTO = null; } //HttpContext.Current.Session["LoggedClient"] = ClientDTO; //HttpContext.Current.Session["LoggedClientId"] = ClientDTO.Id; } } return UserDTO; } catch { throw; } }
//Generate bill by credit request details public static CreditRequestDTO GenerateBill(CreditRequestDTO CreditRequestDTO) { CreditRequestDTO CreditRequestDTONew = new CreditRequestDTO(); try { //if (CreditRequestDTO.Tax == null) //{ // CreditRequestDTO.Tax = 0; //} if (CreditRequestDTO.IsProvided == true) { CreditRequestDTONew = CreditRequestDTO; CreditRequestDTONew.IsBillGenerated = true; CreditRequestDTONew.IsProvided = true; //CreditRequestDTONew.ProvidedDate = System.DateTime.Now; CreditRequestDTONew.RatePerSMS = CreditRequestDTO.RatePerSMS; CreditRequestDTONew.Tax = CreditRequestDTO.Tax; CreditRequestDTONew.ProvidedCredit = CreditRequestDTO.ProvidedCredit; CreditRequestDTONew.Amount = CreditRequestDTO.ProvidedCredit * CreditRequestDTO.RatePerSMS; double tax = (CreditRequestDTONew.Amount * Convert.ToDouble(CreditRequestDTONew.Tax)) / 100; CreditRequestDTONew.TaxAmount = tax; CreditRequestDTONew.GrandTotal = CreditRequestDTONew.Amount + tax; //if (CreditRequestDTO.GrandTotal != CreditRequestDTONew.GrandTotal) //{ // CreditRequestDTONew.GrandTotal = CreditRequestDTO.GrandTotal; //} GlobalSettings.LoggedInClientId = CreditRequestDTO.ClientId; GlobalSettings.LoggedInUserId = CreditRequestDTO.RequestedBy; int PartnerId = ClientService.GetById(CreditRequestDTO.ClientId).PartnerId; GlobalSettings.LoggedInPartnerId = PartnerId; UnitOfWork uow = new UnitOfWork(); CreditRequest CreditRequest = Transform.CreditRequestToDomain(CreditRequestDTONew); uow.CreditRequestRepo.Update(CreditRequest); uow.SaveChanges(); ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(CreditRequest.ClientId); UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(CreditRequest.RequestedBy); DateTime date = (DateTime)CreditRequestDTONew.ProvidedDate; string DateFormat = date.ToString("dd-MMM-yyyy HH:mm"); CommonService.SendEmail("msgBlaster Bill", "<html><body><p>Hello " + ClientDTO.Company + ",</p> <br/><p>Your mesgblaster bill details are as follows.<p/> <table><tr><td> Date</td> <td> " + DateFormat + " </td> </tr> <tr><td> Provided Credits</td> <td> " + CreditRequest.ProvidedCredit + " </td> </tr> <td> Total Balance</td> <td> " + ClientDTO.SMSCredit + " </td> </tr> <tr><td> Rate Per SMS</td> <td> " + String.Format("{0:0.00}", CreditRequest.RatePerSMS) + " </td> </tr> <tr><td> Amount </td> <td> " + String.Format("{0:0.00}", CreditRequest.Amount) + " </td> </tr> <tr><td> Tax</td> <td> " + String.Format("{0:0.00}", CreditRequest.Tax) + "% </td> </tr> <tr><td> <strong>Grand Total</strong></td> <td> <strong>" + String.Format("{0:0.00}", CreditRequest.GrandTotal) + "</strong> </td> </tr> </table> </body></html>", UserDTO.Email, "", false); //<tr><td> Provided Credits</td> <td> " + CreditRequest.ProvidedCredit + " </td> </tr> <tr><td> Rate Per SMS</td> <td> " + CreditRequest.RatePerSMS + " </td> </tr> <tr><td> Amount </td> <td> " + CreditRequest.Amount + " </td> </tr> <tr><td> Tax</td> <td> " + CreditRequest.Tax + " </td> </tr> <tr><td> <strong>Grand Total</strong></td> <td> <strong>" + CreditRequest.GrandTotal + "</strong> </td> </tr> CreditRequestDTONew = Transform.CreditRequestToDTO(CreditRequest); return CreditRequestDTONew; } else { return CreditRequestDTO; } } catch (Exception) { //return CreditRequestDTO; throw; } }
//Send bill to client by credit request id public static bool SendBillToClient(int CreditRequestId) { bool IsSend = false; CreditRequestDTO CreditRequestDTO = new CreditRequestDTO(); CreditRequestDTO = GetById(CreditRequestId); if (CreditRequestDTO.ProvidedDate != null) { ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(CreditRequestDTO.ClientId); UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(CreditRequestDTO.RequestedBy); DateTime date = (DateTime)CreditRequestDTO.ProvidedDate; string DateFormat = date.ToString("dd-MMM-yyyy HH:mm"); IsSend = CommonService.SendEmail("msgBlaster SMS credit provided bill", "<html><body><p>Hello " + ClientDTO.Company + ",</p> <br/><p>Your mesgblaster Bill details are as follows.<p/> <table><tr><td> Bill Date</td> <td> " + DateFormat + " </td> </tr> <tr><td> Requested Credits</td> <td> " + CreditRequestDTO.RequestedCredit + " </td> </tr> <tr><td> Provided Credits</td> <td> " + CreditRequestDTO.ProvidedCredit + " </td> </tr> <tr><td> Rate Per SMS</td> <td> " + String.Format("{0:0.00}", CreditRequestDTO.RatePerSMS) + " </td> </tr> <tr><td> Amount </td> <td> " + String.Format("{0:0.00}", CreditRequestDTO.Amount) + " </td> </tr><tr><td> Tax</td> <td> " + String.Format("{0:0.00}", CreditRequestDTO.Tax) + "% </td> </tr> <tr><td> <strong>Grand Total</strong></td> <td> <strong>" + String.Format("{0:0.00}", CreditRequestDTO.GrandTotal) + "</strong> </td> </tr> </table> </body></html>", UserDTO.Email, "", false); IsSend = true; } else { IsSend = false; } return IsSend; }
public static User UserToDomain(UserDTO UserDTO) { if (UserDTO == null) return null; Mapper.CreateMap<UserDTO,User>(); User User = Mapper.Map<User>(UserDTO); return User; }
//Return Coupon list as per partner id public static List<CouponDTO> GetCouponListSearchByPartnerId(int PartnerId, string search) { List<EcouponCampaignDTO> EcouponCampaignDTOList = new List<EcouponCampaignDTO>(); List<CouponDTO> CouponDTOList = new List<CouponDTO>(); try { EcouponCampaignDTOList = EcouponCampaignService.GetEcouponCampaignListSearchByPartnerId(PartnerId, ""); if (EcouponCampaignDTOList.Count > 0) { foreach (var item in EcouponCampaignDTOList) { var EcouponCampaign = CouponDTOList.Where(e => e.ClientId == item.ClientId).OrderByDescending(e => e.SentDateTime);// uow.EcouponCampaignRepo.GetAll().Where(e => e.ClientId == ClientId); if (EcouponCampaign != null) { foreach (var itemEcouponCampaign in EcouponCampaign) { CouponDTO CouponDTONew = new CouponDTO(); CouponDTONew = itemEcouponCampaign; UserDTO UserDTO = new UserDTO(); EcouponCampaignDTO EcouponCampaignDTO = new EcouponCampaignDTO(); EcouponCampaignDTO = EcouponCampaignService.GetById(itemEcouponCampaign.EcouponCampaignId); CouponDTONew.CouponCampaignName = EcouponCampaignDTO.Title; if (itemEcouponCampaign.UserId != null) { int UserId = (int)itemEcouponCampaign.UserId; UserDTO = UserService.GetById(UserId); CouponDTONew.UserName = UserDTO.Name; } else { CouponDTONew.UserName = ""; } CouponDTOList.Add(CouponDTONew); } } } } if (search != "" && search != null) { bool Isdate = CommonService.IsDate(search); if (Isdate != true) { List<CouponDTO> CouponDTOSearchList = new List<CouponDTO>(); var CouponSearch = CouponDTOList.Where(e => e.Code.Contains(search) || (e.MobileNumber != null ? (e.MobileNumber.Contains(search)) : false) || (e.Remark != null ? (e.Remark.ToLower().Contains(search.ToLower())) : false) || e.UserName.ToLower().Contains(search.ToLower()) || (e.RedeemDateTime.ToString() != null ? (Convert.ToDateTime(e.RedeemDateTime).ToString("dd-MMM-yyyy").ToLower().Contains(search.ToLower())) : false) || (e.CouponCampaignName != null ? (e.CouponCampaignName.ToLower().Contains(search.ToLower())) : false)).OrderByDescending(e => e.SentDateTime); if (CouponSearch != null) { foreach (var itemsearch in CouponSearch) { CouponDTOSearchList.Add(itemsearch); } } return CouponDTOSearchList; } else { List<CouponDTO> CouponDTOSearchList = new List<CouponDTO>(); DateTime date = Convert.ToDateTime(search); var CouponSearch = CouponDTOList.Where(e => e.RedeemDateTime >= date && e.RedeemDateTime < date.AddDays(1)).OrderByDescending(e => e.SentDateTime); if (CouponSearch != null) { foreach (var itemsearch in CouponSearch) { CouponDTOSearchList.Add(itemsearch); } } return CouponDTOSearchList; } } return CouponDTOList; } //catch (LoggedInUserException) //{ // throw new System.TimeoutException(); //} catch (Exception) { throw; } }
//Return Coupon list as per Ecoupon campaign id and Is sent status public static List<CouponDTO> GetCouponListSearchByEcouponCampaignId(int EcouponCampaignId, string search, bool IsSent, PagingInfo pagingInfo) { List<CouponDTO> CouponDTOList = new List<CouponDTO>(); try { using (var uow = new UnitOfWork()) { IEnumerable<EcouponCampaign> EcouponCampaign = uow.EcouponCampaignRepo.GetAll().Where(e => e.Id == EcouponCampaignId && e.IsSent == IsSent).OrderByDescending(e => e.CreatedDate); //var EcouponCampaigncoupons = from c in EcouponCampaign where (from g in c.Coupons where c.ClientId == ClientId select g).Any() select c; int skip = (pagingInfo.Page - 1) * pagingInfo.ItemsPerPage; int take = pagingInfo.ItemsPerPage; if (EcouponCampaign != null) { foreach (var item in EcouponCampaign) { IQueryable<Coupon> Coupon = uow.CouponRepo.GetAll().Where(e => e.EcouponCampaignId == item.Id).AsQueryable();//.OrderByDescending(e => e.SentDateTime).Skip(skip).Take(take); Coupon = PagingService.Sorting<Coupon>(Coupon, pagingInfo.SortBy, pagingInfo.Reverse); Coupon = Coupon.Skip(skip).Take(take); if (Coupon != null) { foreach (var itemCoupon in Coupon) { CouponDTO CouponDTO = new CouponDTO(); if (itemCoupon.EcouponCampaignId == item.Id) { UserDTO UserDTO = new UserDTO(); CouponDTO = Transform.CouponToDTO(itemCoupon); EcouponCampaignDTO EcouponCampaignDTO = new EcouponCampaignDTO(); EcouponCampaignDTO = EcouponCampaignService.GetById(itemCoupon.EcouponCampaignId); CouponDTO.CouponCampaignName = EcouponCampaignDTO.Title; CouponDTO.MinPurchaseAmount = EcouponCampaignDTO.MinPurchaseAmount; if (CouponDTO.UserId != null) { int UserId = (int)CouponDTO.UserId; UserDTO = UserService.GetById(UserId); CouponDTO.UserName = UserDTO.Name; } else { CouponDTO.UserName = ""; } CouponDTOList.Add(CouponDTO); //CouponDTOList.Add(Transform.CouponToDTO(itemCoupon)); } } } } if (search != "" & search != null) { EcouponCampaignDTO EcouponCampaignDTO = new EcouponCampaignDTO(); EcouponCampaignDTO = EcouponCampaignService.GetById(EcouponCampaignId); //int UserId = 0; //UserId = UserService.GetUserByName(search,EcouponCampaignDTO.ClientId); int CampaignId = 0; string UserIdString = UserService.GetUserIdarrayByName(search, EcouponCampaignDTO.ClientId); CampaignId = EcouponCampaignService.GetEcouponCampaignByName(search, EcouponCampaignDTO.ClientId); bool Isdate = CommonService.IsDate(search); if (Isdate != true) { List<CouponDTO> CouponDTOSearchList = new List<CouponDTO>(); IQueryable<Coupon> CouponSearch = uow.CouponRepo.GetAll().Where(e => (e.Code.Contains(search) || (e.MobileNumber != null ? (e.MobileNumber.Contains(search)) : false) || (e.Remark != null ? (e.Remark.ToLower().Contains(search.ToLower())) : false) || (e.RedeemDateTime.ToString() != null ? (Convert.ToDateTime(e.RedeemDateTime).ToString("dd-MMM-yyyy").ToLower().Contains(pagingInfo.Search.ToLower())) : false) || (UserIdString != null ? (e.UserId.ToString().Split(',').Any(UserId => UserIdString.Contains(UserId))) : false) || (e.EcouponCampaignId != 0 ? (e.EcouponCampaignId == CampaignId) : false) || (e.BillNumber != null ? (e.BillNumber.ToLower().Contains(pagingInfo.Search.ToLower())) : false) || (e.BillDate.ToString() != null ? (Convert.ToDateTime(e.BillDate).ToString("dd-MMM-yyyy").ToLower().Contains(pagingInfo.Search.ToLower())) : false)) && e.EcouponCampaignId == EcouponCampaignId).AsQueryable();//.OrderByDescending(e => e.SentDateTime).Skip(skip).Take(take); //|| e.UserName.ToLower().Contains(search.ToLower()) || (e.CouponCampaignName != null ? (e.CouponCampaignName.ToLower().Contains(search.ToLower())) : false) CouponSearch = PagingService.Sorting<Coupon>(CouponSearch, pagingInfo.SortBy, pagingInfo.Reverse); CouponSearch = CouponSearch.Skip(skip).Take(take); if (CouponSearch != null) { foreach (var itemsearch in CouponSearch) { if (itemsearch.EcouponCampaignId == EcouponCampaignId) { CouponDTO CouponDTO = new CouponDTO(); CouponDTO = Transform.CouponToDTO(itemsearch); EcouponCampaignDTO EcouponCampaignDTOSearch = new EcouponCampaignDTO(); EcouponCampaignDTOSearch = EcouponCampaignService.GetById(itemsearch.EcouponCampaignId); CouponDTO.CouponCampaignName = EcouponCampaignDTOSearch.Title; CouponDTO.MinPurchaseAmount = EcouponCampaignDTOSearch.MinPurchaseAmount; UserDTO UserDTO = new UserDTO(); if (itemsearch.UserId == null) { itemsearch.UserId = 0; } int userId = (int)itemsearch.UserId; if (userId != 0) { UserDTO = UserService.GetById(userId); CouponDTO.UserName = UserDTO.Name; } CouponDTOSearchList.Add(CouponDTO); } } } return CouponDTOSearchList; } else { List<CouponDTO> CouponDTOSearchList = new List<CouponDTO>(); DateTime date = Convert.ToDateTime(search); IQueryable<Coupon> CouponSearch = uow.CouponRepo.GetAll().Where(e => (e.RedeemDateTime >= date && e.RedeemDateTime < date.AddDays(1) && e.BillDate >= date && e.BillDate < date.AddDays(1)) && e.EcouponCampaignId == EcouponCampaignId).AsQueryable();//.OrderByDescending(e => e.SentDateTime).Skip(skip).Take(take); CouponSearch = PagingService.Sorting<Coupon>(CouponSearch, pagingInfo.SortBy, pagingInfo.Reverse); CouponSearch = CouponSearch.Skip(skip).Take(take); if (CouponSearch != null) { foreach (var itemsearch in CouponSearch) { if (itemsearch.EcouponCampaignId == EcouponCampaignId) { CouponDTO CouponDTO = new CouponDTO(); CouponDTO = Transform.CouponToDTO(itemsearch); UserDTO UserDTO = new UserDTO(); EcouponCampaignDTO EcouponCampaignDTOSearch = new EcouponCampaignDTO(); EcouponCampaignDTOSearch = EcouponCampaignService.GetById(itemsearch.EcouponCampaignId); CouponDTO.CouponCampaignName = EcouponCampaignDTOSearch.Title; CouponDTO.MinPurchaseAmount = EcouponCampaignDTOSearch.MinPurchaseAmount; if (itemsearch.UserId == null) { itemsearch.UserId = 0; } int userId = (int)itemsearch.UserId; if (userId != 0) { UserDTO = UserService.GetById(userId); CouponDTO.UserName = UserDTO.Name; } CouponDTOSearchList.Add(CouponDTO); } //CouponDTOSearchList.Add(Transform.CouponToDTO(itemsearch)); } } return CouponDTOSearchList; } } } } return CouponDTOList; } //catch (LoggedInUserException) //{ // throw new System.TimeoutException(); //} catch (Exception) { throw; } }
//Return Coupon list as per user id public static List<CouponDTO> GetCouponListByUserId(int UserId, PagingInfo pagingInfo) { List<CouponDTO> CouponDTOList = new List<CouponDTO>(); try { UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(UserId); using (var uow = new UnitOfWork()) { int skip = (pagingInfo.Page - 1) * pagingInfo.ItemsPerPage; int take = pagingInfo.ItemsPerPage; IQueryable<Coupon> Coupon = uow.CouponRepo.GetAll().Where(e => e.UserId == UserId && e.IsExpired != true && e.IsRedeem == true).AsQueryable(); //.OrderByDescending(e => e.SentDateTime); Coupon = PagingService.Sorting<Coupon>(Coupon, pagingInfo.SortBy, pagingInfo.Reverse); Coupon = Coupon.Skip(skip).Take(take); if (Coupon != null) { foreach (var item in Coupon) { CouponDTO CouponDTO = new CouponDTO(); CouponDTO = Transform.CouponToDTO(item); CouponDTO.UserName = UserDTO.Name; EcouponCampaignDTO EcouponCampaignDTO = new EcouponCampaignDTO(); EcouponCampaignDTO = EcouponCampaignService.GetById(CouponDTO.EcouponCampaignId); CouponDTO.CouponCampaignName = EcouponCampaignDTO.Title; CouponDTO.ExpiresOn = EcouponCampaignDTO.ExpiresOn; CouponDTO.MinPurchaseAmount = EcouponCampaignDTO.MinPurchaseAmount; CouponDTOList.Add(CouponDTO);// (Transform.CouponToDTO(item)); } } if (pagingInfo.Search != "" && pagingInfo.Search != null) { bool Isdate = CommonService.IsDate(pagingInfo.Search); if (Isdate != true) { IQueryable<CouponDTO> CouponList = CouponDTOList.Where(e => e.CouponCampaignName.ToLower().Contains(pagingInfo.Search.ToLower()) || (e.MobileNumber != null ? (e.MobileNumber.Contains(pagingInfo.Search)) : false) || (e.Amount != null ? (e.Amount.ToString() == pagingInfo.Search.ToString()) : false) || (e.Code != null ? (e.Code.Contains(pagingInfo.Search)) : false) || (e.Message != null ? (e.Message.ToLower().Contains(pagingInfo.Search.ToLower())) : false) || (e.RedeemDateTime.ToString() != null ? (Convert.ToDateTime(e.RedeemDateTime).ToString("dd-MMM-yyyy").ToLower().Contains(pagingInfo.Search.ToLower())) : false) || (e.Remark != null ? (e.Remark.ToLower().Contains(pagingInfo.Search.ToLower())) : false) || (e.BillNumber != null ? (e.BillNumber.ToLower().Contains(pagingInfo.Search.ToLower())) : false) || (e.BillDate.ToString() != null ? (Convert.ToDateTime(e.BillDate).ToString("dd-MMM-yyyy").ToLower().Contains(pagingInfo.Search.ToLower())) : false)).AsQueryable();//.OrderByDescending(e => e.SentDateTime).ToList(); CouponList = PagingService.Sorting<CouponDTO>(CouponList, pagingInfo.SortBy, pagingInfo.Reverse); CouponList = CouponList.Skip(skip).Take(take); List<CouponDTO> CouponDTOListNew = new List<CouponDTO>(); if (CouponDTOList.Count > 0) { foreach (var item in CouponList) { EcouponCampaignDTO EcouponCampaignDTOSearch = new EcouponCampaignDTO(); EcouponCampaignDTOSearch = EcouponCampaignService.GetById(item.EcouponCampaignId); item.CouponCampaignName = EcouponCampaignDTOSearch.Title; item.ExpiresOn = EcouponCampaignDTOSearch.ExpiresOn; item.MinPurchaseAmount = EcouponCampaignDTOSearch.MinPurchaseAmount; CouponDTOListNew.Add(item); } return CouponDTOListNew; } } else { List<CouponDTO> CouponDTOListNew = new List<CouponDTO>(); DateTime date = Convert.ToDateTime(pagingInfo.Search); IQueryable<CouponDTO> CouponList = CouponDTOList.Where(e => e.RedeemDateTime >= date && e.RedeemDateTime < date.AddDays(1) && e.BillDate >= date && e.BillDate < date.AddDays(1)).AsQueryable();//.OrderByDescending(e => e.SentDateTime).ToList(); CouponList = PagingService.Sorting<CouponDTO>(CouponList, pagingInfo.SortBy, pagingInfo.Reverse); CouponList = CouponList.Skip(skip).Take(take); if (CouponDTOList.Count > 0) { foreach (var item in CouponList) { EcouponCampaignDTO EcouponCampaignDTOSearch = new EcouponCampaignDTO(); EcouponCampaignDTOSearch = EcouponCampaignService.GetById(item.EcouponCampaignId); item.CouponCampaignName = EcouponCampaignDTOSearch.Title; item.ExpiresOn = EcouponCampaignDTOSearch.ExpiresOn; item.MinPurchaseAmount = EcouponCampaignDTOSearch.MinPurchaseAmount; CouponDTOListNew.Add(item); } return CouponDTOListNew; } } } } return CouponDTOList; } //catch (LoggedInUserException) //{ // throw new System.TimeoutException(); //} catch (Exception) { throw; } }
//Create credit request public static CreditRequestDTO Create(CreditRequestDTO CreditRequestDTO) { try { CreditRequestDTO CreditRequestDTONew = new CreditRequestDTO(); PartnerDTO PartnerDTO = new PartnerDTO(); ClientDTO ClientDTO = new ClientDTO(); UserDTO UserDTO = new UserDTO(); PartnerDTO = PartnerService.GetById(CreditRequestDTO.PartnerId); ClientDTO = ClientService.GetById(CreditRequestDTO.ClientId); UserDTO = UserService.GetById(CreditRequestDTO.RequestedBy); GlobalSettings.LoggedInClientId = ClientDTO.Id; GlobalSettings.LoggedInUserId = UserDTO.Id; int PartnerId = PartnerDTO.Id; GlobalSettings.LoggedInPartnerId = PartnerId; if (CreditRequestDTO.RequestedCredit <= 0) { return null; //0 } var CreditRequest = new CreditRequest(); using (var uow = new UnitOfWork()) { CreditRequest = Transform.CreditRequestToDomain(CreditRequestDTO); CreditRequest.Date = System.DateTime.Now; CreditRequest.OldBalance = ClientDTO.SMSCredit; CreditRequest.IsProvided = false; //CreditRequest.ProvidedCredit = CreditRequest.RequestedCredit; CreditRequest.Amount = CreditRequest.RequestedCredit * CreditRequest.RatePerSMS; double tax = (CreditRequest.Amount * Convert.ToDouble(CreditRequest.Tax)) / 100; CreditRequest.TaxAmount = tax; CreditRequest.GrandTotal = CreditRequest.Amount + tax; bool IsOnlinepaymentSuccess = Onlinepayment(CreditRequest.GrandTotal); if (IsOnlinepaymentSuccess == true) { //CreditRequest.IsPaymentSuccessful = true; //CreditRequest.PaymentDate = System.DateTime.Now; CreditRequest.ProvidedDate = System.DateTime.Now; CreditRequest.IsProvided = true; CreditRequest.IsBillGenerated = true; CreditRequest.PaymentMode = PaymentMode.Card; CreditRequest.PaymentDate = System.DateTime.Now; CreditRequest.IsPaid = true; CreditRequest.ProvidedCredit = CreditRequest.RequestedCredit; uow.CreditRequestRepo.Insert(CreditRequest); uow.SaveChanges(); ClientDTO.SMSCredit = ClientDTO.SMSCredit + CreditRequest.RequestedCredit; ClientService.Edit(ClientDTO); } else { //CreditRequest.IsPaymentSuccessful = false; CreditRequest.IsPaid = false; uow.CreditRequestRepo.Insert(CreditRequest); uow.SaveChanges(); } //Update TotalAppliedCredit ClientDTO.TotalAppliedCredit = ClientDTO.TotalAppliedCredit + CreditRequest.RequestedCredit; ClientService.Edit(ClientDTO); //Generate Link to provide mail trhough mail string APILink = ConfigurationManager.AppSettings["APILink"].ToString() + "api/CreditRequest/ProvideCreditByMailLink?CreditRequestId=" + CreditRequest.Id; // Send Email To Partner bool IsMailSent = CommonService.SendEmail("SMS Credit Request", "Hello " + PartnerDTO.Name + ", <br/><br/> The New request of " + CreditRequest.RequestedCredit + " credits applied by " + ClientDTO.Company + "<br/><br/> <a href=" + APILink + ">Approve</a>", PartnerDTO.Email, "", false); CreditRequestDTONew = GetById(CreditRequest.Id); if (CreditRequest.PaymentMode == PaymentMode.Card) { CreditRequestDTONew.OnlinePaymentURL = OnlinePaymentLinkWithTemperproofData(UserDTO.Email, CreditRequest.GrandTotal, UserDTO.Mobile, UserDTO.Name, CreditRequest.Id); } return (CreditRequestDTONew); //.Id); } } //catch (LoggedInUserException) //{ // throw new System.TimeoutException(); //} catch (Exception) { throw; } }
/// <summary> /// Get active or inactive Users by Client id /// </summary> /// <param name="ClientId">Id of the Client</param> /// <param name="search">search string</param> /// <param name="IsActive">TRUE OR FALSE</param> /// <param name="pagingInfo">pagingInfo object</param> /// <returns> Returns Active or Inactive user list </returns> public static List<UserDTO> GetUsersbyClientIdWithIsActive(int ClientId, string search, bool IsActive, PagingInfo pagingInfo) { List<UserDTO> UserDTOList = new List<UserDTO>(); try { UnitOfWork uow = new UnitOfWork(); int skip = (pagingInfo.Page - 1) * pagingInfo.ItemsPerPage; int take = pagingInfo.ItemsPerPage; IQueryable<User> User = uow.UserRepo.GetAll().Where(e => e.ClientId == ClientId && e.IsActive == IsActive).OrderBy(e => e.Name).AsQueryable();// .ToList().Skip(skip).Take(take); User = PagingService.Sorting<User>(User, pagingInfo.SortBy, pagingInfo.Reverse); User = User.Skip(skip).Take(take); if (User != null) { foreach (var user in User) { UserDTO UserDTO = new UserDTO(); UserDTO = Transform.UserToDTO(user); LocationDTO LocationDTO = new LocationDTO(); UserDTO.Location = LocationService.GetById(UserDTO.LocationId).Name; UserDTOList.Add(UserDTO); } if (search != "" && search != null) { //int LocationId = LocationService.GetByLocationName(search, ClientId); string LocationIdString = LocationService.GetLocationIdarrayByName(search, ClientId); bool IsDate = CommonService.IsDate(search); if (IsDate != true) { // string search List<UserDTO> UserDTOListSearch = new List<UserDTO>(); IQueryable<User> UserSearch = uow.UserRepo.GetAll().Where(e => (e.Email.ToLower().Contains(search.ToLower()) || e.Name.ToLower().Contains(search.ToLower()) || e.FirstName.ToLower().Contains(search.ToLower()) || e.LastName.ToLower().Contains(search.ToLower()) || (e.Mobile != null ? (e.Mobile.Contains(search)) : false) || (LocationIdString != null ? (e.LocationId.ToString().Split(',').Any(LocationId => LocationIdString.Contains(LocationId.ToString()))) : false)) && e.IsActive == IsActive && e.ClientId == ClientId).AsQueryable();//.OrderBy(e => e.Name).ToList().Skip(skip).Take(take); //(e.Location != null ? (e.Location.ToLower().Contains(search.ToLower())) : false) UserSearch = PagingService.Sorting<User>(UserSearch, pagingInfo.SortBy, pagingInfo.Reverse); UserSearch = UserSearch.Skip(skip).Take(take); foreach (var user in UserSearch) { UserDTO UserDTO = new UserDTO(); UserDTO = Transform.UserToDTO(user); LocationDTO LocationDTO = new LocationDTO(); UserDTO.Location = LocationService.GetById(UserDTO.LocationId).Name; UserDTOListSearch.Add(UserDTO); } return UserDTOListSearch; } else { } } ////else ////{ //// ////foreach (var item in User) //// ////{ //// //// //UserDTO UserDTO = new UserDTO(); //// //// UserDTOList.Add(Transform.UserToDTO(item)); //// ////} ////} } return UserDTOList; } catch (Exception) { throw; } }
//Get credit request by id public static CreditRequestDTO GetById(int Id) { try { UnitOfWork uow = new UnitOfWork(); CreditRequest CreditRequest = uow.CreditRequestRepo.GetById(Id); CreditRequestDTO CreditRequestDTO = Transform.CreditRequestToDTO(CreditRequest); ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(CreditRequestDTO.ClientId); CreditRequestDTO.ClientName = ClientDTO.Company; UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(CreditRequestDTO.RequestedBy); CreditRequestDTO.UserName = UserDTO.Name; return CreditRequestDTO; } catch { throw; } }
//Get document list by client id public static List<DocumentDTO> GetDocumentListByClientId(int ClientId) { List<DocumentDTO> DocumentDTOList = new List<DocumentDTO>(); try { using (var uow = new UnitOfWork()) { IEnumerable<Document> Document = uow.DocumentRepo.GetAll().Where(e => e.ClientId == ClientId); if (Document != null) { foreach (var item in Document) { DocumentDTO DocumentDTO = new DocumentDTO(); DocumentDTO = Transform.DocumentToDTO(item); UserDTO UserDTO = new UserDTO(); UserDTO = UserService.GetById(DocumentDTO.UserId); DocumentDTO.User = UserDTO.Name; ClientDTO ClientDTO = new ClientDTO(); ClientDTO = ClientService.GetById(DocumentDTO.ClientId); DocumentDTO.Client = ClientDTO.Company; DocumentDTOList.Add(DocumentDTO); } } } return DocumentDTOList; } //catch (LoggedInUserException) //{ // throw new System.TimeoutException(); //} catch (Exception) { throw; } }
/// <summary> /// Register Client /// </summary> /// <param name="RegisterClientDTO">RegisterClientDTO object</param> /// <returns>Register Client details </returns> public static RegisterClientDTO RegisterClient(RegisterClientDTO RegisterClientDTO) { try { GlobalSettings.LoggedInClientId = null; GlobalSettings.LoggedInUserId = null; GlobalSettings.LoggedInPartnerId = null; RegisterClientDTO.UserType = "Admin"; RegisterClientDTO RegisterClientDTONew = new RegisterClientDTO(); ClientDTO ClientDTO = new ClientDTO(); ClientDTO.Company = RegisterClientDTO.Company; ClientDTO.Address = RegisterClientDTO.Address; ClientDTO.IsDatabaseUploaded = false; ClientDTO ClientDTONew = new ClientDTO(); ClientDTONew = ClientService.Create(ClientDTO); GlobalSettings.LoggedInClientId = ClientDTONew.Id; LocationDTO LocationDTO = new LocationDTO(); LocationDTO.Name = RegisterClientDTO.Location; LocationDTO.ClientId = ClientDTONew.Id; int LocationId = 0; LocationId = LocationService.Create(LocationDTO); UserDTO UserDTO = new UserDTO(); //UserDTO.Name = RegisterClientDTO.Name; UserDTO.FirstName = RegisterClientDTO.FirstName; UserDTO.LastName = RegisterClientDTO.LastName; UserDTO.Email = RegisterClientDTO.Email; UserDTO.Password = RegisterClientDTO.Password; UserDTO.Mobile = RegisterClientDTO.Mobile; UserDTO.LocationId = LocationId; UserDTO.ClientId = ClientDTONew.Id; UserDTO UserDTONew = new UserDTO(); UserDTONew = UserService.Create(UserDTO); UserDTONew.UserType = "Admin"; UserDTONew.UserAccessPrivileges = UserService.GetUserAccess(UserDTONew.UserType.ToString()); GlobalSettings.LoggedInUserId = UserDTONew.Id; //Assign client values to Registerclient RegisterClientDTONew.Address = ClientDTONew.Address; RegisterClientDTONew.ClientId = ClientDTONew.Id; RegisterClientDTONew.Company = ClientDTONew.Company; //Assign user values to Registerclient RegisterClientDTONew.Email = UserDTONew.Email; RegisterClientDTONew.Mobile = UserDTONew.Mobile; //RegisterClientDTONew.Name = UserDTONew.Name; RegisterClientDTONew.FirstName = UserDTONew.FirstName; RegisterClientDTONew.LastName = UserDTONew.LastName; RegisterClientDTONew.Password = UserDTONew.Password; RegisterClientDTONew.Id = UserDTONew.Id; RegisterClientDTONew.UserAccessPrivileges = UserDTONew.UserAccessPrivileges; return RegisterClientDTONew; } catch (msgBlasterValidationException) { throw; } catch (Exception) { //HttpContext.Current.Session["LoggedClient"] = null; //HttpContext.Current.Session["LoggedClientId"] = "0"; throw; } }