Ejemplo n.º 1
0
 /// <summary>
 ///     Registrierung eines Shops
 /// </summary>
 /// <param name="shop">Shopdaten</param>
 /// <returns></returns>
 public async Task <ResultData <ExSaveDataResult> > RegisterShop(ExShopRegistration shop)
 {
     return(await _wap.Post <ExSaveDataResult>("RegisterShop", shop));
 }
Ejemplo n.º 2
0
        public async Task <ExSaveDataResult> RegisterShop(ExShopRegistration exShopRegistration)
        {
            using (Db db = new Db())
            {
                var shop = await db.TblStores.FirstOrDefaultAsync(a => a.EMail.ToLower() == exShopRegistration.EMail.ToLower());

                if (shop == null)
                {
                    //NEU ANLEGEN

                    shop             = new TableStore();
                    shop.EMail       = exShopRegistration.EMail.ToLower();
                    shop.CreatedAt   = DateTime.UtcNow;
                    shop.CompanyName = "";
                    db.TblStores.Add(shop);
                }
                else if (shop.Activated)
                {
                    return(new ExSaveDataResult {
                        Result = EnumSaveDataResult.Error
                    });
                }


                string pwd = PasswordHelper.GeneratePassword(6);

                shop.Password       = PasswordHelper.CumputeHash(pwd);
                shop.ActivationCode = PasswordHelper.GeneratePassword(10);
                await db.SaveChangesAsync();

                BissEMail bm = new BissEMail(WebAppSettings.EmailCredentials);

                ExEmailRegistration er = new ExEmailRegistration();

                er.Message     = $"Bitte bestätige den folgenden Link um dein Geschäft freizuschalten. Du kannst dich anschließend mit dem Passwort {pwd} einloggen";
                er.ApproveLink = $"{Constants.WebAppBaseUrl}Activate/?guid={shop.ActivationCode}";

                List <string> eMails2Inform;
                if (Constants.CurrentAppSettings.AppConfigurationConstants == 0) //master
                {
                    eMails2Inform = new List <string>
                    {
                        exShopRegistration.EMail
                    };                 //ToDo: Wenn die Settings Tabelle existiert dann über die Settings Tabelle
                }
                else
                {
                    eMails2Inform = new List <string>
                    {
                        "*****@*****.**",
                        exShopRegistration.EMail
                    };                 //ToDo: Wenn die Settings Tabelle existiert dann über die Settings Tabelle
                }

                string email = _mailgenerator.GetRegistrationEmail(er);


                var res = await bm.SendHtmlEMail(Constants.SendEMailAs, eMails2Inform, "Danke für die Registrierung", email, Constants.SendEMailAsDisplayName);

                return(new ExSaveDataResult());
            }
        }