Exemple #1
0
        protected void btnForgotPassword_Click(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            string key = Membership.GenerateRecoveryKeySupplier(txtEmail.Text);

            if (!string.IsNullOrEmpty(key))
            {
                var user = core.DAL.AppSupplier.FetchByEmail(txtEmail.Text);
                if (user == null)
                {
                    Master.MessageCenter.DisplayErrorMessage(LoginPageStrings.GetText(@"ForgotPasswordFailed"));
                    return;
                }
                EmailMessagingService.SendPasswordRecoveryMailForSupplier(user, key, "he-IL");
                Master.MessageCenter.DisplaySuccessMessage(LoginPageStrings.GetText(@"ForgotPasswordSent"));
                phForgotFields.Visible = false;
            }
            else
            {
                Master.MessageCenter.DisplayErrorMessage(LoginPageStrings.GetText(@"ForgotPasswordFailed"));
                //phForgotFields.Visible = false;
            }
        }
 private static void send_message_to_admin(BidMessage msg)
 {
     try
     {
         EmailMessagingService.SendEmailUntakenBidToAdmin(msg);
     }
     catch (Exception)
     {
     }
 }
        public override void Post(HttpRequest Request, HttpResponse Response, params string[] PathParams)
        {
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetMaxAge(TimeSpan.Zero);

            JObject inputData = null;

            try
            {
                using (StreamReader reader = new StreamReader(Request.InputStream))
                {
                    using (JsonTextReader jsonReader = new JsonTextReader(reader))
                    {
                        inputData = JObject.Load(jsonReader);
                    }
                }
            }
            catch
            {
                RespondBadRequest(Response);
            }

            string email = inputData.Value <string>(@"email") ?? "";

            Response.ContentType = @"application/json";

            string  key  = AppMembership.GenerateRecoveryKey(email);
            AppUser user = null;

            if (key != null)
            {
                user = AppUser.FetchByEmail(email);
            }

            if (key == null || user == null)
            {
                RespondNotFound(Response);
            }
            else
            {
                EmailMessagingService.SendPasswordRecoveryMailForAppUser(user, key, "he-IL");

                using (StreamWriter streamWriter = new StreamWriter(Response.OutputStream))
                {
                    using (JsonTextWriter jsonWriter = new JsonTextWriter(streamWriter))
                    {
                        jsonWriter.WriteStartObject();
                        jsonWriter.WriteEndObject();
                    }
                }
            }
        }
 public static void SendEmails()
 {
     try
     {
         BidMessage msg;
         while (WaitingEmails.TryDequeue(out msg))
         {
             EmailMessagingService.SendNewBidToSupplier(msg);
         }
     }
     catch (Exception ex)
     {
     }
 }
Exemple #5
0
        public static AppUserCreateResults CreateAppUser(string Email, string Password, string LangCode, out AppUser AppUser)
        {
            AppUser = null;
            if (!Email.IsValidEmail())
            {
                return(AppUserCreateResults.InvalidEmailAddress);
            }
            AppUser = AppUser.FetchByEmail(Email);
            if (AppUser != null)
            {
                return(AppUserCreateResults.AlreadyExists);
            }
            AppUser                 = new AppUser();
            AppUser.IsVerified      = !Settings.GetSettingBool(Settings.Keys.APPUSER_VERIFY_EMAIL, false);
            AppUser.Email           = Email;
            AppUser.UniqueIdString  = Email.NormalizeEmail();
            AppUser.AddressLocation = new Geometry.Point(0, 0);
            if (!string.IsNullOrEmpty(LangCode))
            {
                AppUser.LangCode = LangCode;
            }

            string pwd, salt;

            EncodePassword(Password, out pwd, out salt);
            AppUser.Password     = pwd;
            AppUser.PasswordSalt = salt;

            try
            {
                AppUser.Save();

                if (!AppUser.IsVerified)
                {
                    try
                    {
                        string key = GenerateRecoveryKey(AppUser.Email);
                        EmailMessagingService.SendWelcomeMailWithVerificationForAppUser(AppUser, key, null);
                    }
                    catch { }
                }

                return(AppUserCreateResults.Success);
            }
            catch
            {
                AppUser = null;
                return(AppUserCreateResults.UnknownError);
            }
        }
Exemple #6
0
        protected void btnForgotPassword_Click(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            string key = AppMembership.GenerateRecoveryKey(txtEmail.Text);

            if (!string.IsNullOrEmpty(key))
            {
                EmailMessagingService.SendPasswordRecoveryMailForAppUser(core.DAL.AppUser.FetchByEmail(txtEmail.Text), key, null);
                mcMessageCenter.DisplaySuccessMessage(AppForgotPasswordStrings.GetText(@"ForgotPasswordSent"));
                phForgotFields.Visible = false;
            }
            else
            {
                mcMessageCenter.DisplayErrorMessage(AppForgotPasswordStrings.GetText(@"ForgotPasswordFailed"));
                phForgotFields.Visible = false;
            }
        }
Exemple #7
0
        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();
                    }
                }
            }
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }

            Product product = null;

            if (IsNewMode)
            {
                product = new Product();
                product.SendSupplier = cbxIsSendSupplier.Checked;
                product.IsDeleted    = false;
            }
            else
            {
                product = Product.FetchByID(ProductId);
            }
            Product p = Product.FetchByCode(txtProductCode.Text);

            if (p != null && p.ProductId != ProductId)
            {
                Master.MessageCenter.DisplayErrorMessage(ProductsStrings.GetText(@"ProductCodeAlreadyExists"));
                return;
            }
            if (txtProductNum.Text != "")
            {
                Product p1 = Product.FetchByProductNum(Convert.ToInt64(txtProductNum.Text));
                if (p1 != null && p1.ProductId != ProductId)
                {
                    Master.MessageCenter.DisplayErrorMessage(ProductsStrings.GetText(@"ProductNumAlreadyExists"));
                    return;
                }
                else
                {
                    product.ProductNum = Convert.ToInt64(txtProductNum.Text);
                }
            }
            else
            {
                product.ProductNum = null;
            }
            product.ProductName     = txtProductName.Text;
            product.ProductCode     = txtProductCode.Text;
            product.Amount          = txtProductAmount.Text;
            product.Description     = txtProductDescription.Text;
            product.CategoryId      = Convert.ToInt64(ddlCategory.SelectedValue);
            product.SubCategoryId   = Convert.ToInt64(ddlSubCategory.SelectedValue);
            product.RecomendedPrice = txtRecomendedPrice.Text.Trim() != "" ? Convert.ToDecimal(txtRecomendedPrice.Text.Trim()) : 0;
            if (fuImage.HasFile)
            {
                if (!IsNewMode)
                {
                    MediaUtility.DeleteImageFilePath("Product", product.ProductImage, 64, 64, 0);
                }
                string fn = MediaUtility.SaveFile(fuImage.PostedFile, "Product", 0);
                product.ProductImage = fn;
                imgImage.ImageUrl    = Snoopi.core.MediaUtility.GetImagePath("Product", product.ProductImage, 0, 64, 64);
                ImageFileHandler(fuImage, imgImage, btnDeleteImage, imgImage.ImageUrl);
            }
            else if (product.ProductImage != "" && fuImage.Visible)
            {
                MediaUtility.DeleteImageFilePath("Product", product.ProductImage, 64, 64, 0);
                product.ProductImage = "";
            }

            product.Save();
            ProductId = product.ProductId;
            int count = 0;

            foreach (ListItem item in ddlAnimalType.Items)
            {
                if (item.Selected)
                {
                    count++;
                    ProductAnimal productAnimal = ProductAnimal.FetchByID(ProductId, Convert.ToInt64(item.Value));
                    if (productAnimal == null)
                    {
                        productAnimal           = new ProductAnimal();
                        productAnimal.ProductId = ProductId;
                        productAnimal.AnimalId  = Convert.ToInt64(item.Value);
                        productAnimal.Save();
                    }
                }
                else
                {
                    ProductAnimal.Delete(ProductId, Convert.ToInt64(item.Value));
                }
            }
            int index = 0;

            //save filters
            foreach (GridViewRow row in gvFilters.Rows)
            {
                Int64        FilterId = Int64.Parse(gvFilters.DataKeys[index].Value.ToString());
                CheckBoxList lsbx     = (CheckBoxList)row.FindControl("ddlSubFilter");

                foreach (ListItem item in lsbx.Items)
                {
                    ProductFilter productFilter = ProductFilter.FetchByID(ProductId, FilterId, Convert.ToInt64(item.Value));
                    if (productFilter == null && item.Selected)
                    {
                        productFilter             = new ProductFilter();
                        productFilter.ProductId   = ProductId;
                        productFilter.FilterId    = FilterId;
                        productFilter.SubFilterId = Convert.ToInt64(item.Value);
                        productFilter.Save();
                    }
                    else if (productFilter != null && !item.Selected)
                    {
                        (new Query(ProductFilter.TableSchema).Where(ProductFilter.Columns.ProductId, productFilter.ProductId)
                         .AddWhere(ProductFilter.Columns.FilterId, productFilter.FilterId)
                         .AddWhere(ProductFilter.Columns.SubFilterId, productFilter.SubFilterId).Delete()).Execute();
                    }
                }
                index++;
            }

            if (IsNewMode)
            {
                if (cbxIsSendSupplier.Checked)
                {
                    EmailMessagingService.SendEmailNewProductToSupplier(product);
                }
                string successMessage = ProductsStrings.GetText(@"MessageProductCreated");
                string url            = @"EditProduct.aspx?ProductId=" + ProductId;
                url += @"&message-success=" + Server.UrlEncode(successMessage);
                Response.Redirect(url, true);
            }
            else
            {
                string successMessage = ProductsStrings.GetText(@"MessageProductSaved");
                Master.MessageCenter.DisplaySuccessMessage(successMessage);
            }
        }
Exemple #9
0
        public static AppUserAuthenticateResults AuthenticateAppSupplier(string Email, string Password, out Int64 AppSupplierId)
        {
            AppSupplierId = 0;
            if (!Email.NormalizeEmail().IsValidEmail() || string.IsNullOrEmpty(Password))
            {
                return(AppUserAuthenticateResults.LoginError);
            }

            List <object> user = Query.New <AppSupplier>()
                                 .Select(AppSupplier.Columns.SupplierId)
                                 .AddSelect(AppSupplier.Columns.IsLocked)
                                 .AddSelect(AppSupplier.Columns.BadLoginTries)
                                 .AddSelect(AppSupplier.Columns.Password)
                                 .AddSelect(AppSupplier.Columns.PasswordSalt)
                                 .AddSelect(AppSupplier.Columns.IsVerified)
                                 .Where(AppSupplier.Columns.UniqueIdString, Email.NormalizeEmail())
                                 .AddWhere(AppSupplier.Columns.IsDeleted, false)
                                 .ExecuteOneRowToList();

            if (user == null)
            {
                user = null;
                return(AppUserAuthenticateResults.NoMatch);
            }
            if (!Convert.ToBoolean(user[5]))
            {
                if (Settings.GetSettingBool(Settings.Keys.APPUSER_VERIFY_EMAIL, false))
                {
                    try
                    {
                        string key = GenerateRecoveryKey(Email);
                        EmailMessagingService.SendWelcomeMailWithVerificationForAppSupplier(AppSupplier.FetchByID(user[0]), key, null);
                    }
                    catch { }
                    user = null;
                    return(AppUserAuthenticateResults.NotVerified);
                }
            }
            string comparePassword = EncodePassword(Password, user[4] as string);

            if (!comparePassword.Equals(user[3] as string, StringComparison.Ordinal))
            {
                if (MaximumBadLoginTries > 0)
                {
                    Int32 BadLoginTries = Convert.ToInt32(user[2]);
                    BadLoginTries++;
                    bool IsLocked = false;
                    if (BadLoginTries >= MaximumBadLoginTries)
                    {
                        IsLocked = true;
                    }
                    Query.New <AppSupplier>()
                    .Update(AppSupplier.Columns.BadLoginTries, BadLoginTries)
                    .Update(AppSupplier.Columns.IsLocked, IsLocked)
                    .Where(AppSupplier.Columns.SupplierId, user[0])
                    .Execute();
                }
                return(AppUserAuthenticateResults.NoMatch);
            }
            AppSupplierId = Convert.ToInt64(user[0]);
            Query.New <AppSupplier>()
            .Update(AppSupplier.Columns.LastLogin, DateTime.UtcNow)
            .Update(AppSupplier.Columns.BadLoginTries, 0)
            .Where(AppSupplier.Columns.SupplierId, user[0])
            .Execute();
            return(AppUserAuthenticateResults.Success);
        }