public async Task EditDescription(NeedModel Model)
        {
            var Need = await Context.Need.FirstOrDefaultAsync(x => x.Id == Model.Id);

            if (Need != null)
            {
                AuthUser = await GetAuthenticatedUserFromDatabaseAsync();

                if (AuthUser.Id == Need.UserId)
                {
                    if (ModelState.ErrorCount < 2)
                    {
                        if (Need.Description != Model.Description)
                        {
                            Need.Description = Model.Description;
                            await Context.SaveChangesAsync();

                            TempData["NeedMessage"] = "Açıklama düzenlendi";
                        }
                    }
                    else
                    {
                        TempData["NeedMessage"] = "Açıklama boş olamaz.<br />" +
                                                  "En az: 100, en fazla 10 bin karakter";
                    }

                    string link = "/" + Need.User.Username + "/ihtiyac/" + Need.FriendlyTitle + "/" + Need.Id;
                    Response.Redirect(link);
                }
            }
        }
        public async Task <IActionResult> Create(NeedModel Model)
        {
            if (ModelState.IsValid)
            {
                AuthUser = await GetAuthenticatedUserFromDatabaseAsync();

                if (!await IsThereAnyProblemtoCreateNeed())
                {
                    Model.Title = Model.Title.ClearSpaces();
                    Model.Title = Model.Title.ToLower().UppercaseFirstCharacters();

                    var Need = new Need
                    {
                        Title         = Model.Title,
                        FriendlyTitle = Model.Title.FriendlyUrl(),
                        Description   = Model.Description,
                        UserId        = AuthUser.Id,
                    };

                    try
                    {
                        await Context.Need.AddAsync(Need);

                        var result = await Context.SaveChangesAsync();

                        if (result > 0)
                        {
                            string link = "/" + Need.User.Username + "/ihtiyac/" + Need.FriendlyTitle + "/" + Need.Id;
                            return(Redirect(link));
                        }
                    }
                    catch (Exception e)
                    {
                        if (e.InnerException.Message.Contains("Unique_Key_Title"))
                        {
                            TempData["CreateNeedError"] = "Bu başlığı seçemezsiniz";
                        }
                        else
                        {
                            Logger.LogError("Error create need. Ex.message : {ex.message}, Ex.innermessage: {ex.inner}", e.Message, e.InnerException.Message);
                            TempData["CreateNeedError"] = "Başaramadık, ne olduğunu bilmiyoruz";
                        }
                    }
                }
                else if (TempData["CreateNeedError"] != null && TempData["CreateNeedError"].ToString() == "Active education")
                {
                    TempData["ProfileMessage"] = "İhtiyaç kampanyası oluşturmak için onaylanmış bir eğitim bilgisine ihtiyacınız vardır.";
                    return(Redirect("/" + AuthUser.Username));
                }
            }
            else
            {
                TempData["CreateNeedError"] = "Lütfen istenen bilgileri doldurun";
            }

            return(View());
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Create(NeedModel Model)
        {
            if (ModelState.IsValid)
            {
                if (!await IsThereAnyProblemtoCreateNeed().ConfigureAwait(false))
                {
                    Model.Title = Model.Title.ClearExtraBlanks().CapitalizeFirstCharOfWords().RemoveLessGreaterSigns();
                    var Need = new Need
                    {
                        Title         = Model.Title,
                        FriendlyTitle = Model.Title.FriendlyUrl(),
                        Description   = Model.Description.RemoveLessGreaterSigns(),
                        UserId        = Guid.Parse(User.Identity.GetUserId()),
                    };
                    try
                    {
                        await Context.Need.AddAsync(Need);

                        await Context.SaveChangesAsync();

                        Need = await Context.Need.Include(need => need.User).FirstOrDefaultAsync(x => x.Id == Need.Id);

                        return(Redirect("/" + Need.Link));
                    }
                    catch (Exception e)
                    {
                        string innerMessage = (e.InnerException != null) ? e.InnerException.Message.ToLower() : "";

                        if (innerMessage.Contains("Unique_Key_Title") || innerMessage.Contains("Unique_Key_FriendlyTitle"))
                        {
                            TempData["CreateNeedError"] = "Bu başlığı seçemezsiniz";
                        }
                        else
                        {
                            Logger.LogError("Error create need. Ex.message : {ex.message}, Ex.innermessage: {ex.inner}", e?.Message, e?.InnerException?.Message);
                            TempData["CreateNeedError"] = "Başaramadık, ne olduğunu bilmiyoruz";
                        }
                    }
                }
                else if (TempData["CreateNeedError"] != null && TempData["CreateNeedError"].ToString() == "Active education")
                {
                    TempData["ProfileMessage"] = "İhtiyaç kampanyası oluşturmak için onaylanmış bir eğitim bilgisine ihtiyacınız vardır.";
                    return(Redirect("/" + User.Identity.GetUsername()));
                }
            }
            else
            {
                TempData["CreateNeedError"] = "Lütfen istenen bilgileri doldurun";
            }

            return(View());
        }
        public async Task EditTitle(NeedModel Model)
        {
            var Need = await Context.Need.FirstOrDefaultAsync(x => x.Id == Model.Id);

            if (Need != null)
            {
                AuthUser = await GetAuthenticatedUserFromDatabaseAsync();

                if (AuthUser.Id == Need.UserId)
                {
                    if (ModelState.ErrorCount < 2)
                    {
                        if (Model.Title != Need.Title)
                        {
                            Model.Title = Model.Title.ClearSpaces();
                            Model.Title = Model.Title.ToLower().UppercaseFirstCharacters();

                            Need.Title         = Model.Title;
                            Need.FriendlyTitle = Need.Title.FriendlyUrl();
                            try
                            {
                                await Context.SaveChangesAsync();

                                TempData["NeedMessage"] = "Başlık düzenlendi";
                            }
                            catch (Exception e)
                            {
                                if (e.InnerException.Message.Contains("Unique_Key_Title"))
                                {
                                    TempData["NeedMessage"] = "Bu başlığı seçemezsiniz";
                                }
                            }
                        }
                    }
                    else
                    {
                        TempData["NeedMessage"] = "Başlık boş olamaz.<br />" +
                                                  "En fazla 75 karakter ";
                    }
                    string link = "/" + Need.User.Username + "/ihtiyac/" + Need.FriendlyTitle + "/" + Need.Id;
                    Response.Redirect(link);
                }
            }
        }