protected void LoadItems() { if (!HasEditPermission) { dgAppUsers.Columns[dgAppUsers.Columns.Count - 1].Visible = false; } string searchName = "%" + txtSearchName.Text.Trim() + "%"; string searchPhone = "%" + txtSearchPhone.Text.Trim() + "%"; DateTime from, to = new DateTime(); DateTime.TryParse(dpSearchCreateDateFrom.Value.ToString(), out from); DateTime.TryParse(dpSearchCreateDateTo.Value.ToString(), out to); dgAppUsers.VirtualItemCount = AppUserUI.GetAllAppUserUI(from, to, searchName, searchPhone).Count; if (dgAppUsers.VirtualItemCount == 0) { phHasItems.Visible = false; phHasNoItems.Visible = true; lblNoItems.Text = AppUsersStrings.GetText(@"MessageNoUsersFound"); } else { phHasItems.Visible = true; phHasNoItems.Visible = false; if (dgAppUsers.PageSize * dgAppUsers.CurrentPageIndex > dgAppUsers.VirtualItemCount) { dgAppUsers.CurrentPageIndex = 0; hfCurrentPageIndex_dgAppUsers.Value = dgAppUsers.CurrentPageIndex.ToString(); } List <AppUserUI> app_users = AppUserUI.GetAllAppUserUI(from, to, searchName, searchPhone, dgAppUsers.PageSize, dgAppUsers.CurrentPageIndex); BindList(app_users); } }
static public void SendMailNoOffersToAdmin(AppUserUI user, DateTime StartBidDate, List <BidProductUI> products, string subject, string body) { string fromEmail = Settings.GetSetting(Settings.Keys.DEFAULT_EMAIL_FROM); string fromName = Settings.GetSetting(Settings.Keys.DEFAULT_EMAIL_FROM_NAME); string replyToEmail = Settings.GetSetting(Settings.Keys.DEFAULT_EMAIL_REPLYTO); string replyToName = Settings.GetSetting(Settings.Keys.DEFAULT_EMAIL_REPLYTO_NAME); string toList = Settings.GetSetting(Settings.Keys.ADMIN_EMAIL); Dictionary <string, string> dictFieldHtml = new Dictionary <string, string>(); dictFieldHtml.Add(@"{NAME}", (user.FirstName + @" " + user.LastName).Trim()); dictFieldHtml.Add(@"{PHONE}", user.Phone); dictFieldHtml.Add(@"{CITY}", user.CityName); string str = ""; foreach (BidProductUI item in products) { str += item.Amount + " " + item.ProductName + @" <br /> "; } dictFieldHtml.Add(@"{PRODUCTS}", str); dictFieldHtml.Add(@"{DATE}", StartBidDate.ToShortDateString()); dictFieldHtml.Add(@"{TIME}", StartBidDate.ToShortTimeString()); foreach (string key in dictFieldHtml.Keys.ToList()) { dictFieldHtml[key] = dictFieldHtml[key].ToHtml().Replace("\n", @"<br />"); } body = EmailTemplateController.ReplaceSharpsInString(body, dictFieldHtml); System.Net.Mail.MailMessage message = EmailTemplateController.BuildMailMessage( fromEmail, fromName, replyToEmail, replyToName, toList, null, null, subject, body, null, System.Net.Mail.MailPriority.Normal); EmailTemplateController.Send(message, EmailLogController.EmailLogType.OnError, true); }
protected void btnExport_Click(object sender, EventArgs e) { System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"Email"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"FirstName"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"LastName"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"IsLocked"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"Phone"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"Address"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"IsAdv"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"LastLogin"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"CreateDate"), typeof(string))); dt.Columns.Add(new System.Data.DataColumn(AppUsersStrings.GetText(@"UserId"), typeof(string))); string searchName = "%" + txtSearchName.Text.Trim() + "%"; string searchPhone = "%" + txtSearchPhone.Text.Trim() + "%"; DateTime from, to = new DateTime(); DateTime.TryParse(dpSearchCreateDateFrom.Value.ToString(), out from); DateTime.TryParse(dpSearchCreateDateTo.Value.ToString(), out to); List <AppUserUI> app_users = AppUserUI.GetAllAppUserUI(from, to, searchName, searchPhone); foreach (AppUserUI appUser in app_users) { System.Data.DataRow row = dt.NewRow(); row[0] = appUser.Email; row[1] = appUser.FirstName; row[2] = appUser.LastName; row[3] = GlobalStrings.GetYesNo(appUser.IsLocked); row[4] = "\"" + appUser.Phone + "\""; row[5] = appUser.Street + " " + appUser.HouseNum + "\n" + AppUsersStrings.GetText(@"Floor") + " " + appUser.Floor + "\n" + AppUsersStrings.GetText(@"ApartmentNumber") + " " + appUser.ApartmentNumber + "\n" + appUser.CityName; row[6] = GlobalStrings.GetYesNo(appUser.IsAdv); row[7] = "\"" + appUser.LastLogin + "\""; row[8] = "\"" + appUser.CreateDate + "\""; row[9] = "\"" + appUser.AppUserId + "\""; dt.Rows.Add(row); } SpreadsheetWriter ex = SpreadsheetWriter.FromDataTable(dt, false, true); Response.Clear(); Response.AddHeader(@"content-disposition", @"attachment;filename=AppUsersExport_" + DateTime.UtcNow.ToString(@"yyyy_MM_dd_HH_mm_ss") + "." + ex.FileExtension); Response.Charset = @"UTF-8"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = ex.FileContentType; Response.BinaryWrite(System.Text.Encoding.UTF8.GetPreamble()); Response.Write(ex.ToString()); Response.End(); }
private void HandleAll(HttpRequest Request, HttpResponse Response, params string[] PathParams) { if (!Request.IsLocal) { Http.Respond404(true); } Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetMaxAge(TimeSpan.Zero); if (PathParams[0] == @"rematch") { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); try { jsonWriter.WritePropertyName(@"success"); jsonWriter.WriteValue(true); } catch (System.Exception ex) { jsonWriter.WritePropertyName(@"error"); jsonWriter.WriteValue(@"unknown"); jsonWriter.WritePropertyName(@"description"); jsonWriter.WriteValue(ex.ToString()); } jsonWriter.WriteEndObject(); } } } else if (PathParams[0] == @"clean_tokens") { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); try { AuthTokens.DeleteAllExpired(); jsonWriter.WritePropertyName(@"success"); jsonWriter.WriteValue(true); } catch (System.Exception ex) { jsonWriter.WritePropertyName(@"error"); jsonWriter.WriteValue(@"unknown"); jsonWriter.WritePropertyName(@"description"); jsonWriter.WriteValue(ex.ToString()); } jsonWriter.WriteEndObject(); } } } else if (PathParams[0] == @"offer") { //using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) //{ // using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) // { // jsonWriter.WriteStartObject(); // try // { // Query qry = new Query(Bid.TableSchema); // qry.Where(Bid.Columns.IsSendOffer, WhereComparision.EqualsTo, false); // qry.AddWhere(Bid.Columns.EndDate, WhereComparision.LessThan, DateTime.UtcNow); // BidCollection bidCollection = BidCollection.FetchByQuery(qry); // Query.New<Bid>().Where(Bid.Columns.IsSendOffer, WhereComparision.EqualsTo, false) // .AddWhere(Bid.Columns.EndDate, WhereComparision.LessThan, DateTime.UtcNow) // .Update(Bid.Columns.IsSendOffer, true) // .Execute(); // foreach (Bid item in bidCollection) // { // Query q = new Query(Offer.TableSchema); // q.Where(Offer.Columns.BidId, WhereComparision.EqualsTo, item.BidId); // OfferCollection offerCollection = OfferCollection.FetchByQuery(q); // if (offerCollection != null && offerCollection.Count > 0) // { // if (item.AppUserId != null && item.AppUserId != 0) // { // Notification.SendNotificationAppUserOffers(string.Format(Snoopi.web.Localization.PushStrings.GetText("PushOfferText"), offerCollection.Count), (Int64)item.AppUserId, item.BidId); // } // else if (item.TempAppUserId != null && item.TempAppUserId != 0) // { // Notification.SendNotificationTempUserOffers(string.Format(Snoopi.web.Localization.PushStrings.GetText("PushOfferText"), offerCollection.Count), (Int64)item.TempAppUserId, item.BidId); // } // } // else // { // if (item.AppUserId != null && item.AppUserId != 0) // { // Notification.SendNotificationAppUserOffers(Snoopi.web.Localization.PushStrings.GetText("NoPushOfferText"), (Int64)item.AppUserId, item.BidId); // AppUserUI user = AppUserUI.GetAppUserUI((Int64)item.AppUserId); // List<BidProductUI> products = BidController.GetProductsByBid(item.BidId); // Bid b = Bid.FetchByID(item.BidId); // string subject = GlobalStrings.GetText("MailToAdmin", new CultureInfo("he-IL")); // string body = GlobalStrings.GetText("SubjectMailToAdminOffers",new CultureInfo("he-IL")); // EmailMessagingService.SendMailNoOffersToAdmin(user, b.StartDate, products, subject, body); // } // else if (item.TempAppUserId != null && item.TempAppUserId != 0) // { // Notification.SendNotificationTempUserOffers(Snoopi.web.Localization.PushStrings.GetText("NoPushOfferText"), (Int64)item.TempAppUserId, item.BidId); // } // } // item.IsSendOffer = true; // item.Save(); // } // jsonWriter.WritePropertyName(@"success"); // jsonWriter.WriteValue(true); // } // catch (System.Exception ex) // { // //RespondError(Response, HttpStatusCode.BadRequest, ex.ToString()); // jsonWriter.WritePropertyName(@"error"); // jsonWriter.WriteValue(@"unknown"); // jsonWriter.WritePropertyName(@"description"); // jsonWriter.WriteValue(ex.ToString()); // } // jsonWriter.WriteEndObject(); // } //} } else if (PathParams[0] == @"service_offer") { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); try { Query qry = new Query(BidService.TableSchema); qry.Where(BidService.Columns.IsSendOffer, WhereComparision.EqualsTo, false); qry.AddWhere(BidService.Columns.EndDate, WhereComparision.LessThan, DateTime.UtcNow); BidServiceCollection bidCollection = BidServiceCollection.FetchByQuery(qry); jsonWriter.WritePropertyName(@"qry"); jsonWriter.WriteValue(qry.ToString()); Query.New <BidService>().Where(BidService.Columns.IsSendOffer, WhereComparision.EqualsTo, false) .AddWhere(BidService.Columns.EndDate, WhereComparision.LessThan, DateTime.UtcNow) .Update(BidService.Columns.IsSendOffer, true) .Execute(); foreach (BidService item in bidCollection) { Query q = new Query(OfferService.TableSchema); q.Where(OfferService.Columns.BidId, WhereComparision.EqualsTo, item.BidId); OfferServiceCollection offerCollection = OfferServiceCollection.FetchByQuery(q); if (offerCollection != null && offerCollection.Count > 0) { if (item.AppUserId != null && item.AppUserId != 0) { Notification.SendNotificationAppUserOffers(string.Format(Snoopi.web.Localization.PushStrings.GetText("PushOfferText"), offerCollection.Count), (Int64)item.AppUserId, item.BidId, true); } else if (item.TempAppUserId != null && item.TempAppUserId != 0) { Notification.SendNotificationTempUserOffers(string.Format(Snoopi.web.Localization.PushStrings.GetText("PushOfferText"), offerCollection.Count), (Int64)item.TempAppUserId, item.BidId, true); } } else { if (item.AppUserId != null && item.AppUserId != 0) { Notification.SendNotificationAppUserOffers(Snoopi.web.Localization.PushStrings.GetText("NoPushOfferText"), (Int64)item.AppUserId, item.BidId, true); AppUserUI user = AppUserUI.GetAppUserUI((Int64)item.AppUserId); List <BidProductUI> products = BidController.GetProductsByBid(item.BidId); Bid b = Bid.FetchByID(item.BidId); string subject = GlobalStrings.GetText("MailToAdmin"); string body = GlobalStrings.GetText("SubjectMailToAdminOffers"); EmailMessagingService.SendMailNoOffersToAdmin(user, b.StartDate, products, subject, body); } else if (item.TempAppUserId != null && item.TempAppUserId != 0) { Notification.SendNotificationTempUserOffers(Snoopi.web.Localization.PushStrings.GetText("NoPushOfferText"), (Int64)item.TempAppUserId, item.BidId, true); } } item.IsSendOffer = true; item.Save(); } jsonWriter.WritePropertyName(@"success"); jsonWriter.WriteValue(true); } catch (System.Exception ex) { //RespondError(Response, HttpStatusCode.BadRequest, ex.ToString()); jsonWriter.WritePropertyName(@"error"); jsonWriter.WriteValue(@"unknown"); jsonWriter.WritePropertyName(@"description"); jsonWriter.WriteValue(ex.ToString()); } jsonWriter.WriteEndObject(); } } } else if (PathParams[0] == @"order_received") { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); try { Query qry = new Query(Order.TableSchema); qry.Where(Order.Columns.IsSendRecived, WhereComparision.EqualsTo, false); qry.AddWhere(Order.Columns.ReceivedDate, WhereComparision.EqualsTo, null); qry.AddWhere(Order.Columns.UserPaySupplierStatus, WhereComparision.EqualsTo, UserPaymentStatus.Payed); qry.AddWhere(Order.Columns.SuppliedDate, WhereComparision.LessThanOrEqual, DateTime.UtcNow.AddHours(-24)); OrderCollection orderCollection = OrderCollection.FetchByQuery(qry); //Query.New<Order>().Where(Order.Columns.IsSendRecived, WhereComparision.EqualsTo, false) // .AddWhere(Order.Columns.ReceivedDate, WhereComparision.EqualsTo, null) // .AddWhere(Order.Columns.CreateDate, WhereComparision.LessThanOrEqual, DateTime.UtcNow.AddHours(-24)) // .Update(Order.Columns.IsSendRecived, true) // .Execute(); foreach (Order item in orderCollection) { Notification.SendNotificationAppUserReceviedOrder(Snoopi.web.Localization.PushStrings.GetText("ReceivedOrder"), (Int64)item.AppUserId, item.OrderId); item.IsSendRecived = true; item.Save(); } jsonWriter.WritePropertyName(@"success"); jsonWriter.WriteValue(true); } catch (System.Exception ex) { //RespondError(Response, HttpStatusCode.BadRequest, ex.ToString()); jsonWriter.WritePropertyName(@"error"); jsonWriter.WriteValue(@"unknown"); jsonWriter.WritePropertyName(@"description"); jsonWriter.WriteValue(ex.ToString()); } jsonWriter.WriteEndObject(); } } } else if (PathParams[0] == @"auto_push") { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); try { var filters = NotificationGroups.GetAutoFilters(); foreach (var item in filters) { if (item.LastRun == null || item.LastRun.Value.AddDays(1) < DateTime.Now) { var users = NotificationGroups.GetUsersOfAutoFilter(item); try { Task.Run(() => Snoopi.core.FcmService.SendTemplateToMany(item.Name, item.MessageTemplate, users)).Wait(); } catch (Exception ex) { using (System.IO.StreamWriter sw = System.IO.File.AppendText(AppDomain.CurrentDomain.BaseDirectory + @"\Output\push-log.txt")) { sw.WriteLine(@" ------------" + DateTime.Now + "--------------------" + '\n' + "Exception " + ex.Message + " CallStack : " + ex.StackTrace); } } item.LastRun = DateTime.Now; item.Save(); } } jsonWriter.WritePropertyName(@"success"); jsonWriter.WriteValue(true); } catch (System.Exception ex) { //RespondError(Response, HttpStatusCode.BadRequest, ex.ToString()); jsonWriter.WritePropertyName(@"error"); jsonWriter.WriteValue(@"unknown"); jsonWriter.WritePropertyName(@"description"); jsonWriter.WriteValue(ex.ToString()); } jsonWriter.WriteEndObject(); } } } else if (PathParams[0] == @"rate_supplier") { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); try { Query qry = new Query(Order.TableSchema); qry.Where(Order.Columns.IsSendRateSupplier, WhereComparision.EqualsTo, false); qry.AddWhere(Order.Columns.SuppliedDate, WhereComparision.LessThanOrEqual, DateTime.UtcNow.AddHours(-Settings.GetSettingInt32(Settings.Keys.RATE_SUPPLIER_AFTER_ORDER_HOUR, 24))); OrderCollection orderCollection = OrderCollection.FetchByQuery(qry); Query.New <Order>().Where(Order.Columns.IsSendRateSupplier, WhereComparision.EqualsTo, false) .AddWhere(Order.Columns.SuppliedDate, WhereComparision.LessThanOrEqual, DateTime.UtcNow.AddHours(-Settings.GetSettingInt32(Settings.Keys.RATE_SUPPLIER_AFTER_ORDER_HOUR, 24))) .Update(Order.Columns.IsSendRateSupplier, true) .Execute(); foreach (Order item in orderCollection) { var bid = Bid.FetchByID(item.BidId); AppSupplier supplier = AppSupplier.FetchByID(item.SupplierId); Notification.SendNotificationAppUserRateSupplier(Snoopi.web.Localization.PushStrings.GetText("RateSupplier"), item.AppUserId, item.SupplierId.Value, supplier.BusinessName, item.BidId); item.IsSendRateSupplier = true; item.Save(); } jsonWriter.WritePropertyName(@"success"); jsonWriter.WriteValue(true); } catch (System.Exception ex) { //RespondError(Response, HttpStatusCode.BadRequest, ex.ToString()); jsonWriter.WritePropertyName(@"error"); jsonWriter.WriteValue(@"unknown"); jsonWriter.WritePropertyName(@"description"); jsonWriter.WriteValue(ex.ToString()); } jsonWriter.WriteEndObject(); } } } else if (PathParams[0] == @"test_rate_supplier") { Notification.SendNotificationAppUserRateSupplier(Snoopi.web.Localization.PushStrings.GetText("RateSupplier"), 18283, 387, "PetBool", 2345); } else { using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream)) { using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter)) { jsonWriter.WriteStartObject(); jsonWriter.WritePropertyName(@"error"); jsonWriter.WriteValue(@"unknown"); jsonWriter.WriteEndObject(); } } } }