Compare commits
No commits in common. "master" and "branch_Norbert_20181204" have entirely different histories.
master
...
branch_Nor
0
Dokumentacja/Dajcie tu dokumentacje.txt
Normal file
0
Dokumentacja/Dajcie tu dokumentacje.txt
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Forum.DataAccessLayer.Models
|
||||
{
|
||||
|
@ -1,4 +1,8 @@
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Forum.DataAccessLayer.Models
|
||||
{
|
||||
|
@ -1,4 +1,8 @@
|
||||
using System.Security.Claims;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Claims;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Identity;
|
||||
using Microsoft.AspNet.Identity.EntityFramework;
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
|
@ -1,6 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Forum.DataAccessLayer.Models
|
||||
{
|
||||
|
@ -1,4 +1,9 @@
|
||||
using System.Data.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Entity;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Forum.DataAccessLayer.Models;
|
||||
using Microsoft.AspNet.Identity.EntityFramework;
|
||||
|
||||
|
@ -1,4 +1,8 @@
|
||||
using System.Security.Claims;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Claims;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Forum.DataAccessLayer.Models;
|
||||
using Microsoft.AspNet.Identity.Owin;
|
||||
|
@ -1,4 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Forum.DataAccessLayer.Models;
|
||||
using Forum.DataAccessLayer.Services;
|
||||
using Microsoft.AspNet.Identity;
|
||||
|
@ -1,8 +1,8 @@
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
namespace Forum.DataAccessLayer.Migrations
|
||||
{
|
||||
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class Dbinit : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
|
@ -1,8 +1,8 @@
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
namespace Forum.DataAccessLayer.Migrations
|
||||
{
|
||||
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class ConfigureDbTables : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
|
@ -1,8 +1,8 @@
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
namespace Forum.DataAccessLayer.Migrations
|
||||
{
|
||||
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class Emailvalidation : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
|
@ -1,8 +1,8 @@
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
namespace Forum.DataAccessLayer.Migrations
|
||||
{
|
||||
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class AddedTitle : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
|
@ -1,8 +1,8 @@
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
namespace Forum.DataAccessLayer.Migrations
|
||||
{
|
||||
|
||||
using System;
|
||||
using System.Data.Entity.Migrations;
|
||||
|
||||
public partial class Seedtry : DbMigration
|
||||
{
|
||||
public override void Up()
|
||||
|
@ -1,10 +1,11 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Entity.Migrations;
|
||||
using Forum.DataAccessLayer.Models;
|
||||
|
||||
namespace Forum.DataAccessLayer.Migrations
|
||||
{
|
||||
using System;
|
||||
using System.Data.Entity;
|
||||
using System.Data.Entity.Migrations;
|
||||
using System.Linq;
|
||||
|
||||
internal sealed class Configuration : DbMigrationsConfiguration<Forum.DataAccessLayer.ApplicationDbContext>
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
|
@ -1,4 +1,8 @@
|
||||
using System.Threading.Tasks;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Identity;
|
||||
|
||||
namespace Forum.DataAccessLayer.Services
|
||||
|
@ -1,4 +1,8 @@
|
||||
using System.Threading.Tasks;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNet.Identity;
|
||||
|
||||
namespace Forum.DataAccessLayer.Services
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26730.15
|
||||
VisualStudioVersion = 15.0.28307.136
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Forum", "Forum\Forum.csproj", "{E3C0D1F3-C4CC-4D3D-9960-F20179C60269}"
|
||||
EndProject
|
||||
@ -13,8 +13,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Forum.DataAccessLayer", "Fo
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MailSender", "MailSender\MailSender.csproj", "{24F3A3E9-F8B9-43A5-A5AB-FA627683750C}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MailDTO", "MailDTO\MailDTO.csproj", "{07B5BD11-726F-4506-9FD8-783880AAE0EF}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@ -37,10 +35,6 @@ Global
|
||||
{24F3A3E9-F8B9-43A5-A5AB-FA627683750C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{24F3A3E9-F8B9-43A5-A5AB-FA627683750C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{24F3A3E9-F8B9-43A5-A5AB-FA627683750C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{07B5BD11-726F-4506-9FD8-783880AAE0EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{07B5BD11-726F-4506-9FD8-783880AAE0EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{07B5BD11-726F-4506-9FD8-783880AAE0EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{07B5BD11-726F-4506-9FD8-783880AAE0EF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -1,386 +1,24 @@
|
||||
body {
|
||||
padding-top: 15rem;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
/* Set padding to keep content from hitting the edges */
|
||||
.body-content {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
/* Override the default bootstrap behavior where horizontal description lists
|
||||
will truncate terms that are too long to fit in the left column
|
||||
*/
|
||||
.dl-horizontal dt {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
/* Set width on the form input elements since they're 100% wide by default */
|
||||
input,
|
||||
select
|
||||
{
|
||||
max-width: 280px;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
background: linear-gradient(#47478f 15%,#4d4794);
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.navbar a {
|
||||
color: #fafafa;
|
||||
}
|
||||
|
||||
h2{
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.navbar-toggle .icon-bar {
|
||||
background: #b7c5d8;
|
||||
width: 28px;
|
||||
}
|
||||
|
||||
.navbar-brand{
|
||||
font-size:2.5rem;
|
||||
font-weight:700;
|
||||
height:70px;
|
||||
line-height:4rem;
|
||||
}
|
||||
|
||||
.navbar-toggle{
|
||||
margin-top:18px;
|
||||
}
|
||||
|
||||
.navbar > .container {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.nav > li > a:hover, .nav > li > a:focus{
|
||||
|
||||
background-color:#5a5aa7 ;
|
||||
}
|
||||
|
||||
|
||||
.category-list-wrapper{
|
||||
width:80%;
|
||||
margin:0 auto;
|
||||
|
||||
}
|
||||
|
||||
.category-wrapper > ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.category-list{
|
||||
display: grid;
|
||||
padding:0;
|
||||
grid-row-gap: 2rem;
|
||||
}
|
||||
|
||||
.category-list > li {
|
||||
height: 9rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color:#bbbbc5;
|
||||
border-radius: 1rem;
|
||||
position:relative;
|
||||
}
|
||||
|
||||
.category-list > li > a {
|
||||
text-decoration: none;
|
||||
color: #fafafa;
|
||||
font-size: 3rem;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
line-height: 9rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.single-category-wrapper{
|
||||
padding: 3rem;
|
||||
background-color: #f2f2f2;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.single-category-wrapper > h2 {
|
||||
margin:1rem 0;
|
||||
}
|
||||
|
||||
.single-category-wrapper > ul {
|
||||
padding:0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.single-category-wrapper > ul li {
|
||||
padding: 1.5rem 0;
|
||||
font-size:1.5rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.single-category-wrapper > ul li a {
|
||||
text-decoration: none;
|
||||
color: #3b3b3b;
|
||||
|
||||
}
|
||||
|
||||
.add-topic {
|
||||
width: 100%;
|
||||
border: none;
|
||||
background: #79bd9b;
|
||||
padding: 10px;
|
||||
border-radius: 1rem;
|
||||
font-size: 1.8rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
|
||||
.add-topic > a{
|
||||
color: #fafafa;
|
||||
text-decoration: none;
|
||||
display:block;
|
||||
width:100%;
|
||||
height:100%;
|
||||
}
|
||||
|
||||
|
||||
.form-AddQuestion {
|
||||
background-color: #f1f1f3;
|
||||
padding: 3rem;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.form-AddQuestion input {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
.form-personal-data{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width:100%;
|
||||
justify-content: space-between;
|
||||
|
||||
}
|
||||
|
||||
.form-personal-data .form-group {
|
||||
width:100%;
|
||||
}
|
||||
|
||||
.form-AddQuestion input[type=submit], .add-answer input[type=submit] {
|
||||
border: none;
|
||||
background: #79bd9b;
|
||||
padding: 10px;
|
||||
border-radius: 1rem;
|
||||
font-size: 1.8rem;
|
||||
color: #fafafa;
|
||||
|
||||
}
|
||||
|
||||
.form-AddQuestion input[type=submit]{
|
||||
margin-top: 1.7rem;
|
||||
}
|
||||
|
||||
.form-AddQuestion__btn{
|
||||
width:100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
|
||||
.textarea-wrapper {
|
||||
width: 50%;
|
||||
margin: 20px auto;
|
||||
padding: 5px; /*workaround for textarea margin*/
|
||||
background: #FFF;
|
||||
border: 1px solid #808080;
|
||||
}
|
||||
|
||||
textarea {
|
||||
max-width: none;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.answer-list__question {
|
||||
background: #dee0eb;
|
||||
padding: 3rem;
|
||||
overflow-wrap: break-word;
|
||||
border-radius: 1rem;
|
||||
margin-bottom: 5rem;
|
||||
}
|
||||
|
||||
.answer-list__question h2 {
|
||||
margin:0;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.answer-list__info {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items:center;
|
||||
}
|
||||
|
||||
.answer-list__answer {
|
||||
list-style: none;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
.username {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.answer-list__answer__info {
|
||||
background: #4d4c4c;
|
||||
color: #fafafa;
|
||||
padding: 1rem 2rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.answer-list__answer__info--proffesional {
|
||||
background: #c68585;
|
||||
}
|
||||
|
||||
.answer-list__single-answer {
|
||||
border: 1px solid #c0bebe;
|
||||
border-radius: 1rem;
|
||||
margin-bottom: 3rem;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.answer-list__content {
|
||||
padding: 2rem 2rem;
|
||||
width: 100%;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
.answer-list__heading {
|
||||
margin: 2rem 0;
|
||||
}
|
||||
|
||||
.answer-list__add-btn {
|
||||
border: none;
|
||||
background: #79bd9b;
|
||||
border-radius: 1rem;
|
||||
font-size: 1.8rem;
|
||||
color: #fafafa;
|
||||
width: 20rem;
|
||||
display: flex;
|
||||
justify-content:center;
|
||||
align-items:center;
|
||||
height: 5rem;
|
||||
|
||||
}
|
||||
|
||||
.answer-list__add-btn a {
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: white;
|
||||
text-align: center;
|
||||
line-height: 5rem;
|
||||
}
|
||||
|
||||
.add-answer {
|
||||
background: #f2f2f2;
|
||||
padding: 3rem;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
padding: 3rem;
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.delete-category__span{
|
||||
font-size:2rem;
|
||||
font-weight:400;
|
||||
margin-bottom:10rem;
|
||||
}
|
||||
|
||||
.delete-category__dl {
|
||||
height: 3rem;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (min-width: 768px) {
|
||||
|
||||
|
||||
|
||||
.navbar > .container {
|
||||
height: 10rem;
|
||||
}
|
||||
|
||||
.navbar-header {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
font-size: 3.5rem;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
height: 100px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.navbar-nav > li {
|
||||
height: 50%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.navbar-nav > li > a {
|
||||
height: 100%;
|
||||
border-radius: 0.8rem;
|
||||
}
|
||||
|
||||
.nav > li > a:hover, .nav > li > a:focus {
|
||||
transition: background-color .1s ease;
|
||||
}
|
||||
|
||||
.category-list {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-column-gap: 2rem;
|
||||
}
|
||||
|
||||
.single-category-wrapper {
|
||||
width: 65%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.form-AddQuestion__btn {
|
||||
flex-direction: row;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.form-personal-data {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.form-personal-data .form-group {
|
||||
width: 49%;
|
||||
}
|
||||
|
||||
.form-AddQuestion input[type=submit] {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
body {
|
||||
padding-top: 50px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
/* Set padding to keep content from hitting the edges */
|
||||
.body-content {
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
/* Override the default bootstrap behavior where horizontal description lists
|
||||
will truncate terms that are too long to fit in the left column
|
||||
*/
|
||||
.dl-horizontal dt {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
/* Set width on the form input elements since they're 100% wide by default */
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
max-width: 280px;
|
||||
}
|
||||
|
@ -20,7 +20,9 @@ namespace Forum.Controllers
|
||||
private ApplicationSignInManager _signInManager;
|
||||
private ApplicationUserManager _userManager;
|
||||
|
||||
public AccountController(){}
|
||||
public AccountController()
|
||||
{
|
||||
}
|
||||
|
||||
public AccountController(ApplicationUserManager userManager, ApplicationSignInManager signInManager )
|
||||
{
|
||||
@ -86,7 +88,7 @@ namespace Forum.Controllers
|
||||
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
|
||||
case SignInStatus.Failure:
|
||||
default:
|
||||
ModelState.AddModelError("", "Niepoprawny login lub hasło");
|
||||
ModelState.AddModelError("", "Invalid login attempt.");
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
@ -136,7 +138,7 @@ namespace Forum.Controllers
|
||||
|
||||
//
|
||||
// GET: /Account/Register
|
||||
[Authorize]
|
||||
[AllowAnonymous]
|
||||
public ActionResult Register()
|
||||
{
|
||||
return View();
|
||||
@ -145,13 +147,13 @@ namespace Forum.Controllers
|
||||
//
|
||||
// POST: /Account/Register
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
[AllowAnonymous]
|
||||
[ValidateAntiForgeryToken]
|
||||
public async Task<ActionResult> Register(RegisterViewModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var user = new ProfessionalUser() { UserName = model.Email, Email = model.Email,FullName = model.FullName};
|
||||
var user = new ProfessionalUser() { UserName = model.Email, Email = model.Email };
|
||||
var result = await UserManager.CreateAsync(user, model.Password);
|
||||
if (result.Succeeded)
|
||||
{
|
||||
|
@ -1,114 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.Entity;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Forum.DataAccessLayer;
|
||||
using Forum.DataAccessLayer.Models;
|
||||
|
||||
namespace Forum.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
public class CategoriesController : Controller
|
||||
{
|
||||
private ApplicationDbContext db = new ApplicationDbContext();
|
||||
|
||||
// GET: Categories
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View(db.Categories.ToList());
|
||||
}
|
||||
|
||||
// GET: Categories/Create
|
||||
public ActionResult Create()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
// POST: Categories/Create
|
||||
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
|
||||
// more details see https://go.microsoft.com/fwlink/?LinkId=317598.
|
||||
[HttpPost]
|
||||
[ValidateAntiForgeryToken]
|
||||
public ActionResult Create([Bind(Include = "Id,CategoryName")] Category category)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
db.Categories.Add(category);
|
||||
db.SaveChanges();
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
return View(category);
|
||||
}
|
||||
|
||||
// GET: Categories/Edit/5
|
||||
public ActionResult Edit(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
Category category = db.Categories.Find(id);
|
||||
if (category == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(category);
|
||||
}
|
||||
|
||||
// POST: Categories/Edit/5
|
||||
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
|
||||
// more details see https://go.microsoft.com/fwlink/?LinkId=317598.
|
||||
[HttpPost]
|
||||
[ValidateAntiForgeryToken]
|
||||
public ActionResult Edit([Bind(Include = "Id,CategoryName")] Category category)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
db.Entry(category).State = EntityState.Modified;
|
||||
db.SaveChanges();
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
return View(category);
|
||||
}
|
||||
|
||||
// GET: Categories/Delete/5
|
||||
public ActionResult Delete(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
Category category = db.Categories.Find(id);
|
||||
if (category == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(category);
|
||||
}
|
||||
|
||||
// POST: Categories/Delete/5
|
||||
[HttpPost, ActionName("Delete")]
|
||||
[ValidateAntiForgeryToken]
|
||||
public ActionResult DeleteConfirmed(int id)
|
||||
{
|
||||
Category category = db.Categories.Find(id);
|
||||
db.Categories.Remove(category);
|
||||
db.SaveChanges();
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
db.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,16 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data.Entity;
|
||||
using System.Linq;
|
||||
using System.Security.Principal;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web.Mvc;
|
||||
using Fluentx.Mvc;
|
||||
using Forum.DataAccessLayer;
|
||||
using Forum.DataAccessLayer.Models;
|
||||
using Forum.ViewModels;
|
||||
using Microsoft.AspNet.Identity;
|
||||
|
||||
namespace Forum.Controllers
|
||||
{
|
||||
@ -104,54 +99,19 @@ namespace Forum.Controllers
|
||||
if (question == null)
|
||||
return HttpNotFound();
|
||||
|
||||
var user = _dbContext.Users.Find(User.Identity.GetUserId());
|
||||
|
||||
var answer = new Answer()
|
||||
{
|
||||
Content = model.Content,
|
||||
Nick = model.Nick,
|
||||
Date = DateTime.Now,
|
||||
Professional = user
|
||||
Date = DateTime.Now
|
||||
};
|
||||
|
||||
question.Answers.Add(answer);
|
||||
_dbContext.SaveChanges();
|
||||
|
||||
//Logika wysylania maili
|
||||
if (User.Identity.IsAuthenticated && !string.IsNullOrEmpty(question.ReportersEmail))
|
||||
{
|
||||
var dataToPost = new Dictionary<string, object>();
|
||||
dataToPost.Add("Subject",question.Title);
|
||||
dataToPost.Add("EMailTo",question.ReportersEmail);
|
||||
dataToPost.Add("Content",model.Content);
|
||||
|
||||
return this.RedirectAndPost(ConfigurationManager.AppSettings["MailSenderAddress"], dataToPost);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return RedirectToAction("Question", new {id = model.QuestionId});
|
||||
}
|
||||
|
||||
[Authorize]
|
||||
[System.Web.Mvc.Route("Home/DeleteAnswer/{id}")]
|
||||
public ActionResult DeleteAnswer(int? id)
|
||||
{
|
||||
var answer = _dbContext.Answers.Find(id);
|
||||
var question = _dbContext.Questions.FirstOrDefault(x => x.Answers.Any(y => y.Id == id));
|
||||
|
||||
if (answer != null)
|
||||
{
|
||||
_dbContext.Answers.Remove(answer);
|
||||
_dbContext.SaveChanges();
|
||||
}
|
||||
|
||||
if (question != null)
|
||||
return RedirectToAction("Question", new {id = question.Id});
|
||||
|
||||
return HttpNotFound();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
|
||||
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
@ -47,12 +47,6 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Fluentx, Version=2.0.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Fluentx.2.0.4\lib\Fluentx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Fluentx.Mvc, Version=1.0.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Fluentx.Mvc.1.0.4\lib\Fluentx.Mvc.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.AspNet.TelemetryCorrelation, Version=1.0.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.TelemetryCorrelation.1.0.4\lib\net45\Microsoft.AspNet.TelemetryCorrelation.dll</HintPath>
|
||||
</Reference>
|
||||
@ -182,7 +176,6 @@
|
||||
<Compile Include="App_Start\RouteConfig.cs" />
|
||||
<Compile Include="App_Start\Startup.Auth.cs" />
|
||||
<Compile Include="Controllers\AccountController.cs" />
|
||||
<Compile Include="Controllers\CategoriesController.cs" />
|
||||
<Compile Include="Controllers\HomeController.cs" />
|
||||
<Compile Include="Controllers\ManageController.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
@ -222,8 +215,6 @@
|
||||
<Content Include="Content\bootstrap.css.map" />
|
||||
<Content Include="Content\bootstrap-theme.min.css.map" />
|
||||
<Content Include="Content\bootstrap-theme.css.map" />
|
||||
<None Include="Properties\PublishProfiles\forum-inzynieria1 - FTP.pubxml" />
|
||||
<None Include="Properties\PublishProfiles\forum-inzynieria1 - Web Deploy.pubxml" />
|
||||
<None Include="Scripts\jquery-3.3.1.intellisense.js" />
|
||||
<Content Include="Scripts\jquery-3.3.1.js" />
|
||||
<Content Include="Scripts\jquery-3.3.1.min.js" />
|
||||
@ -243,9 +234,7 @@
|
||||
<Content Include="Scripts\umd\popper-utils.min.js" />
|
||||
<Content Include="Scripts\umd\popper.js" />
|
||||
<Content Include="Scripts\umd\popper.min.js" />
|
||||
<Content Include="Web.config">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="Web.config" />
|
||||
<Content Include="Web.Debug.config">
|
||||
<DependentUpon>Web.config</DependentUpon>
|
||||
</Content>
|
||||
@ -290,14 +279,9 @@
|
||||
<Content Include="Scripts\popper-utils.js.map" />
|
||||
<Content Include="Views\Home\AddQuestion.cshtml" />
|
||||
<Content Include="Views\Home\AddAnswer.cshtml" />
|
||||
<Content Include="Views\Categories\Create.cshtml" />
|
||||
<Content Include="Views\Categories\Delete.cshtml" />
|
||||
<Content Include="Views\Categories\Edit.cshtml" />
|
||||
<Content Include="Views\Categories\Index.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
<Folder Include="Views\Professional\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="packages.config" />
|
||||
|
@ -55,10 +55,10 @@ namespace Forum.Models
|
||||
|
||||
[Required]
|
||||
[DataType(DataType.Password)]
|
||||
[Display(Name = "Hasło")]
|
||||
[Display(Name = "Password")]
|
||||
public string Password { get; set; }
|
||||
|
||||
[Display(Name = "Zapamiętaj mnie")]
|
||||
[Display(Name = "Remember me?")]
|
||||
public bool RememberMe { get; set; }
|
||||
}
|
||||
|
||||
@ -72,17 +72,13 @@ namespace Forum.Models
|
||||
[Required]
|
||||
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
|
||||
[DataType(DataType.Password)]
|
||||
[Display(Name = "Hasło")]
|
||||
[Display(Name = "Password")]
|
||||
public string Password { get; set; }
|
||||
|
||||
[DataType(DataType.Password)]
|
||||
[Display(Name = "Potwierdź hasło")]
|
||||
[Display(Name = "Confirm password")]
|
||||
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
|
||||
public string ConfirmPassword { get; set; }
|
||||
|
||||
[Display(Name = "Imię i nazwisko")]
|
||||
[Required]
|
||||
public string FullName { get; set; }
|
||||
}
|
||||
|
||||
public class ResetPasswordViewModel
|
||||
|
@ -1,7 +1,7 @@
|
||||
@using Forum.Models
|
||||
@model LoginViewModel
|
||||
@{
|
||||
ViewBag.Title = "Zaloguj się";
|
||||
ViewBag.Title = "Log in";
|
||||
}
|
||||
|
||||
<h2>@ViewBag.Title.</h2>
|
||||
@ -11,6 +11,7 @@
|
||||
@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
<h4>Use a local account to log in.</h4>
|
||||
<hr />
|
||||
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
|
||||
<div class="form-group">
|
||||
@ -37,11 +38,11 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-10">
|
||||
<input type="submit" value="Zaloguj się" class="btn btn-default" />
|
||||
<input type="submit" value="Log in" class="btn btn-default" />
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
@*@Html.ActionLink("Utwórz nowego użytkownika", "Register")*@
|
||||
@Html.ActionLink("Register as a new user", "Register")
|
||||
</p>
|
||||
@* Enable this once you have account confirmation enabled for password reset functionality
|
||||
<p>
|
||||
@ -50,7 +51,11 @@
|
||||
}
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<section id="socialLoginForm">
|
||||
@Html.Partial("_ExternalLoginsListPartial", new ExternalLoginListViewModel { ReturnUrl = ViewBag.ReturnUrl })
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section Scripts {
|
||||
|
@ -1,6 +1,6 @@
|
||||
@model Forum.Models.RegisterViewModel
|
||||
@{
|
||||
ViewBag.Title = "Zarejestruj się";
|
||||
ViewBag.Title = "Register";
|
||||
}
|
||||
|
||||
<h2>@ViewBag.Title.</h2>
|
||||
@ -8,6 +8,7 @@
|
||||
@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
<h4>Create a new account.</h4>
|
||||
<hr />
|
||||
@Html.ValidationSummary("", new { @class = "text-danger" })
|
||||
<div class="form-group">
|
||||
@ -16,12 +17,6 @@
|
||||
@Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(m => m.FullName, new { @class = "col-md-2 control-label" })
|
||||
<div class="col-md-10">
|
||||
@Html.TextBoxFor(m => m.FullName, new { @class = "form-control" })
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(m => m.Password, new { @class = "col-md-2 control-label" })
|
||||
<div class="col-md-10">
|
||||
@ -36,7 +31,7 @@
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-10">
|
||||
<input type="submit" class="btn btn-default" value="Zarejestruj" />
|
||||
<input type="submit" class="btn btn-default" value="Register" />
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
@ -1,44 +0,0 @@
|
||||
@model Forum.DataAccessLayer.Models.Category
|
||||
|
||||
@{
|
||||
ViewBag.Title = "Create";
|
||||
}
|
||||
|
||||
|
||||
<div class="single-category-wrapper">
|
||||
<h2>Utwórz kategorie</h2>
|
||||
<hr style="border-top: 1px solid #d3d3d3; margin-bottom: 3rem;" />
|
||||
|
||||
|
||||
|
||||
@using (Html.BeginForm())
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<div class="form-horizontal">
|
||||
<hr />
|
||||
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.CategoryName, htmlAttributes: new { @class = "control-label col-md-2" })
|
||||
<div class="col-md-10">
|
||||
@Html.EditorFor(model => model.CategoryName, new { htmlAttributes = new { @class = "form-control" } })
|
||||
@Html.ValidationMessageFor(model => model.CategoryName, "", new { @class = "text-danger" })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-10">
|
||||
<input type="submit" value="Utwórz kategorie" class="answer-list__add-btn" style="height:4rem; width:17rem" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div>
|
||||
@Html.ActionLink("Powrót", "Index")
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@section Scripts {
|
||||
@Scripts.Render("~/bundles/jqueryval")
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
@model Forum.DataAccessLayer.Models.Category
|
||||
|
||||
@{
|
||||
ViewBag.Title = "Delete";
|
||||
}
|
||||
|
||||
<div class="single-category-wrapper">
|
||||
<h2>Usuwanie ketegorii</h2>
|
||||
<hr style="border-top: 1px solid #d3d3d3;" />
|
||||
|
||||
<span class="delete-category__span">Jesteś pewien, że chcesz usunąć kategorię?</span>
|
||||
<div style="margin-top: 3rem;">
|
||||
|
||||
<dl class="dl-horizontal delete-category__dl">
|
||||
<dt style="text-align:left">
|
||||
@Html.DisplayNameFor(model => model.CategoryName)
|
||||
</dt>
|
||||
<dd style="margin-left:0;">
|
||||
@Html.DisplayFor(model => model.CategoryName)
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
@using (Html.BeginForm())
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<div class="form-actions no-color">
|
||||
<input type="submit" value="Usuń" class="answer-list__add-btn" style="height:4rem; width:17rem; background-color:#af4f4f; margin-bottom: 3rem;" />
|
||||
</div>
|
||||
<div>@Html.ActionLink("Powrót do listy kategorii", "Index")
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
@ -1,42 +0,0 @@
|
||||
@model Forum.DataAccessLayer.Models.Category
|
||||
|
||||
@{
|
||||
ViewBag.Title = "Edit";
|
||||
}
|
||||
|
||||
<div class="single-category-wrapper">
|
||||
|
||||
<h2>Edytuj nazwię kategorii</h2>
|
||||
<hr style="border-top: 1px solid #d3d3d3; margin-bottom: 3rem;" />
|
||||
|
||||
|
||||
|
||||
@using (Html.BeginForm())
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<div class="form-horizontal">
|
||||
|
||||
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
|
||||
@Html.HiddenFor(model => model.Id)
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.CategoryName, htmlAttributes: new { @class = "control-label col-md-2" })
|
||||
<div class="col-md-10">
|
||||
@Html.EditorFor(model => model.CategoryName, new { htmlAttributes = new { @class = "form-control" } })
|
||||
@Html.ValidationMessageFor(model => model.CategoryName, "", new { @class = "text-danger" })
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-10">
|
||||
<input type="submit" value="Zapisz" class="answer-list__add-btn" style="height:4rem; width:17rem" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div>
|
||||
@Html.ActionLink("Powrót do listy kategorii", "Index")
|
||||
</div>
|
||||
</div>
|
||||
@section Scripts {
|
||||
@Scripts.Render("~/bundles/jqueryval")
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
@model IEnumerable<Forum.DataAccessLayer.Models.Category>
|
||||
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
}
|
||||
|
||||
<div class="single-category-wrapper">
|
||||
|
||||
<h2 style="margin-bottom:3rem;">Kategorie</h2>
|
||||
|
||||
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>
|
||||
Nazwa kategorii
|
||||
</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
@foreach (var item in Model)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.CategoryName)
|
||||
</td>
|
||||
<td>
|
||||
@Html.ActionLink("Edytuj", "Edit", new { id = item.Id }) |
|
||||
@Html.ActionLink("Usuń", "Delete", new { id = item.Id })
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
<p class="answer-list__add-btn">
|
||||
@Html.ActionLink("Utwórz kategorie", "Create")
|
||||
</p>
|
||||
</div>
|
@ -1,45 +1,26 @@
|
||||
@model Forum.ViewModels.AddAnswerViewModel
|
||||
@{
|
||||
ViewBag.Title = "AddAnswer";
|
||||
}
|
||||
|
||||
|
||||
<div class="add-answer">
|
||||
|
||||
<h2>Dodaj odpowiedź</h2>
|
||||
|
||||
<hr style="border-top: 1px solid #d3d3d3; margin-bottom: 3rem;" />
|
||||
|
||||
|
||||
@using (Html.BeginForm("AddAnswer", "Home", FormMethod.Post))
|
||||
{
|
||||
|
||||
<div class="form-group">
|
||||
@{
|
||||
if (User.Identity.IsAuthenticated)
|
||||
{
|
||||
<label>Odpowiedz jako @User.Identity.Name</label>
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.EditorFor(model => model.Nick, new { htmlAttributes = new { @class = "form-control", placeholder = "Nick" } })
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
||||
@Html.TextAreaFor(model => model.Content, new { @class = "form-control", @id = "exampleFormControlTextarea3", rows = 7, placeholder = "Odpowiedź" })<br />
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Html.HiddenFor(model=>model.QuestionId)
|
||||
|
||||
<input type="submit" value="Zgłoś odpowiedź" />
|
||||
}
|
||||
|
||||
</div>
|
||||
@model Forum.ViewModels.AddAnswerViewModel
|
||||
@{
|
||||
ViewBag.Title = "AddAnswer";
|
||||
}
|
||||
|
||||
<h2>AddAnswer</h2>
|
||||
|
||||
|
||||
@using (Html.BeginForm("AddAnswer", "Home", FormMethod.Post))
|
||||
{
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Nick, new { @class = "label-form" })
|
||||
@Html.EditorFor(model => model.Nick, new { htmlAttributes = new { @class = "form-control" } })
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Content, new { @class = "label-form" })
|
||||
@Html.EditorFor(model => model.Content, new { htmlAttributes = new { @class = "form-control" } })
|
||||
</div>
|
||||
|
||||
@Html.HiddenFor(model=>model.QuestionId)
|
||||
|
||||
<input type="submit" value="Zgłoś" />
|
||||
}
|
||||
|
||||
|
@ -1,49 +1,38 @@
|
||||
@model Forum.ViewModels.AddQuestionViewModel
|
||||
@{
|
||||
ViewBag.Title = "AddQuestion";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@using (Html.BeginForm("AddQuestion", "Home", FormMethod.Post))
|
||||
{
|
||||
|
||||
|
||||
<div class="form-AddQuestion">
|
||||
<h2>Dodaj zapytanie</h2>
|
||||
<hr style="border-top: 1px solid #d3d3d3; margin-bottom:3rem;" />
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
@Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control", placeholder="Temat" } })
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
|
||||
|
||||
@Html.TextAreaFor(model => model.Content, new { @class="form-control", @id = "exampleFormControlTextarea3", rows=7, placeholder="Treść zapytania" })<br />
|
||||
|
||||
</div>
|
||||
<div class="form-personal-data">
|
||||
<div class="form-group">
|
||||
@Html.EditorFor(model => model.Nick, new { htmlAttributes = new { @class = "form-control", placeholder="Nick" } })
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control", placeholder="Adres email" } })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-AddQuestion__btn">
|
||||
|
||||
|
||||
@Html.DropDownListFor(x=>x.CategoryId,new SelectList(Model.Categories,"Id", "CategoryName"), new { @class = "form-control" })
|
||||
|
||||
<input type="submit" value="Dodaj zapytanie"/>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
@model Forum.ViewModels.AddQuestionViewModel
|
||||
@{
|
||||
ViewBag.Title = "AddQuestion";
|
||||
}
|
||||
|
||||
<h2>AddQuestion</h2>
|
||||
|
||||
|
||||
@using (Html.BeginForm("AddQuestion", "Home", FormMethod.Post))
|
||||
{
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Title, new { @class = "label-form" })
|
||||
@Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control" } })
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Content, new { @class = "label-form" })
|
||||
@Html.EditorFor(model => model.Content, new { htmlAttributes = new { @class = "form-control" } })
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Nick, new { @class = "label-form" })
|
||||
@Html.EditorFor(model => model.Nick, new { htmlAttributes = new { @class = "form-control" } })
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Email, new { @class = "label-form" })
|
||||
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
|
||||
</div>
|
||||
|
||||
@Html.DropDownListFor(x=>x.CategoryId,new SelectList(Model.Categories,"Id", "CategoryName"))
|
||||
|
||||
<input type="submit" value="Zgłoś"/>
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,36 +1,18 @@
|
||||
@model Forum.DataAccessLayer.Models.Category
|
||||
|
||||
@{
|
||||
ViewBag.Title = Model.CategoryName;
|
||||
}
|
||||
|
||||
|
||||
<div class="single-category-wrapper">
|
||||
|
||||
<h2>@Model.CategoryName</h2>
|
||||
|
||||
<hr style="border-top: 1px solid #d3d3d3" />
|
||||
|
||||
<ul class="single-category__topic">
|
||||
@{
|
||||
foreach (var question in Model.Questions)
|
||||
{
|
||||
string title = question.Title;
|
||||
if (String.IsNullOrEmpty(title))
|
||||
{
|
||||
title = "Brak tytułu pytania";
|
||||
}
|
||||
|
||||
<li>@Html.ActionLink(title, "Question", "Home", new { id = question.Id }, null)</li>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
||||
<button class="add-topic">
|
||||
|
||||
@Html.ActionLink("Dodaj zapytanie", "AddQuestion", "Home", new { category = Model.CategoryName }, null)
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@model Forum.DataAccessLayer.Models.Category
|
||||
|
||||
@{
|
||||
ViewBag.Title = Model.CategoryName;
|
||||
}
|
||||
|
||||
<h2>@Model.CategoryName</h2>
|
||||
|
||||
@Html.ActionLink("Dodaj pytanie", "AddQuestion", "Home",new {category=Model.CategoryName},null)
|
||||
|
||||
<ul>
|
||||
@{
|
||||
foreach (var question in Model.Questions)
|
||||
{
|
||||
<li>@Html.ActionLink(question.Title,"Question","Home",new{id=question.Id},null)</li>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
@ -1,19 +1,18 @@
|
||||
@model IEnumerable<Forum.DataAccessLayer.Models.Category>
|
||||
|
||||
@{
|
||||
ViewBag.Title = "Strona Główna";
|
||||
}
|
||||
<div class="category-list-wrapper">
|
||||
<ul class="category-list">
|
||||
|
||||
@{
|
||||
foreach (var category in Model)
|
||||
{
|
||||
<li>
|
||||
@Html.ActionLink(category.CategoryName, "Category", "Home", new { name = category.CategoryName }, null)
|
||||
</li>
|
||||
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
@model IEnumerable<Forum.DataAccessLayer.Models.Category>
|
||||
|
||||
@{
|
||||
ViewBag.Title = "Strona Główna";
|
||||
}
|
||||
|
||||
<ul>
|
||||
|
||||
@{
|
||||
foreach (var category in Model)
|
||||
{
|
||||
<li>
|
||||
@Html.ActionLink(category.CategoryName,"Category","Home",new{name=category.CategoryName},null)
|
||||
</li>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
||||
|
@ -1,65 +1,28 @@
|
||||
@using WebGrease.Css.Extensions
|
||||
@model Forum.DataAccessLayer.Models.Question
|
||||
|
||||
@{
|
||||
ViewBag.Title = @Model.Title;
|
||||
}
|
||||
|
||||
|
||||
<div class="answer-list__question">
|
||||
|
||||
|
||||
<div class="answer-list__info">
|
||||
<h2>@Model.Title</h2>
|
||||
@Model.PostDate
|
||||
|
||||
</div>
|
||||
<hr style="border-top: 1px solid #d3d3d3" />
|
||||
|
||||
|
||||
<div class="answer-list__question__content">
|
||||
@Model.Content
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<h3 class="answer-list__heading">Odpowiedzi</h3>
|
||||
<ul class="answer-list__answer">
|
||||
@{
|
||||
foreach (var answer in Model.Answers)
|
||||
{
|
||||
<li class="answer-list__single-answer">
|
||||
<div class="answer-list__answer__info" @{if (answer.Professional != null) { <text> style="background-color: #7ecc2a" </text> }}>
|
||||
@{
|
||||
if (answer.Professional != null)
|
||||
{
|
||||
<span class="username">@answer.Professional.FullName napisał(a)</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="username">@answer.Nick napisał(a)</span>
|
||||
}
|
||||
}
|
||||
@{
|
||||
if (User.Identity.IsAuthenticated)
|
||||
{
|
||||
@Html.ActionLink("Usuń odpowiedź", "DeleteAnswer", new {id = answer.Id},new{@style="color:#fff;"});
|
||||
}
|
||||
}
|
||||
@answer.Date
|
||||
</div>
|
||||
<div class="answer-list__content">
|
||||
@answer.Content
|
||||
</div>
|
||||
</li>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
||||
<div class="answer-list__add-btn">
|
||||
|
||||
@Html.ActionLink("Dodaj odpowiedź", "AddAnswer", new { id = @Model.Id })
|
||||
|
||||
</div>
|
||||
|
||||
@model Forum.DataAccessLayer.Models.Question
|
||||
|
||||
@{
|
||||
ViewBag.Title = @Model.Title;
|
||||
}
|
||||
|
||||
@Model.PostDate
|
||||
|
||||
<h2>@Model.Title</h2>
|
||||
|
||||
<div>
|
||||
@Model.Content
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
@Html.ActionLink("Dodaj odpowiedź","AddAnswer",new{id=@Model.Id})
|
||||
<hr/>
|
||||
|
||||
<b>Odpowiedzi</b>
|
||||
<ul>
|
||||
@{
|
||||
foreach (var answer in Model.Answers)
|
||||
{
|
||||
<li>@answer.Nick @answer.Date @answer.Content </li>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
@ -17,14 +17,13 @@
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
@Html.ActionLink("FORUM", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
|
||||
@Html.ActionLink("Application name", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
@if (User.Identity.IsAuthenticated)
|
||||
{
|
||||
<li>@Html.ActionLink("Zarządzaj kategoriami", "Index", "Categories")</li>
|
||||
}
|
||||
<ul class="nav navbar-nav">
|
||||
<li>@Html.ActionLink("Home", "Index", "Home")</li>
|
||||
<li>@Html.ActionLink("About", "About", "Home")</li>
|
||||
<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
|
||||
</ul>
|
||||
@Html.Partial("_LoginPartial")
|
||||
</div>
|
||||
@ -34,7 +33,7 @@
|
||||
@RenderBody()
|
||||
<hr />
|
||||
<footer>
|
||||
<p>© @DateTime.Now.Year - Grupa 1CF Inżynieria oprogramowania</p>
|
||||
<p>© @DateTime.Now.Year - My ASP.NET Application</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
@Html.ActionLink("Witaj " + User.Identity.GetUserName() + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
|
||||
@Html.ActionLink("Hello " + User.Identity.GetUserName() + "!", "Index", "Manage", routeValues: null, htmlAttributes: new { title = "Manage" })
|
||||
</li>
|
||||
<li>@Html.ActionLink("Dodaj profesjonalistę", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" })</li>
|
||||
<li><a href="javascript:document.getElementById('logoutForm').submit()">Wyloguj się</a></li>
|
||||
<li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li>
|
||||
</ul>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>@Html.ActionLink("Zaloguj się", "Login", "Account", routeValues: null, htmlAttributes: new {id = "loginLink"})</li>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>@Html.ActionLink("Register", "Register", "Account", routeValues: null, htmlAttributes: new { id = "registerLink" })</li>
|
||||
<li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li>
|
||||
</ul>
|
||||
}
|
||||
|
@ -9,10 +9,9 @@
|
||||
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</configSections>
|
||||
<connectionStrings>
|
||||
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\ForumInzyneria1.mdf;Initial Catalog=ForumInzyneria1;Integrated Security=True" providerName="System.Data.SqlClient" />
|
||||
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\ForumInzyneria.mdf;Initial Catalog=ForumInzyneria;Integrated Security=True" providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
<add key="MailSenderAddress" value="http://mailsender-inzynieria1.azurewebsites.net/Home/Index" />
|
||||
<add key="webpages:Version" value="3.0.0.0" />
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
<add key="ClientValidationEnabled" value="true" />
|
||||
@ -87,7 +86,7 @@
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
|
||||
<bindingRedirect oldVersion="1.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
@ -3,8 +3,6 @@
|
||||
<package id="Antlr" version="3.5.0.2" targetFramework="net461" />
|
||||
<package id="bootstrap" version="3.3.7" targetFramework="net461" />
|
||||
<package id="EntityFramework" version="6.2.0" targetFramework="net461" />
|
||||
<package id="Fluentx" version="2.0.4" targetFramework="net461" />
|
||||
<package id="Fluentx.Mvc" version="1.0.4" targetFramework="net461" />
|
||||
<package id="jQuery" version="3.3.1" targetFramework="net461" />
|
||||
<package id="jQuery.Validation" version="1.17.0" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.Identity.Core" version="2.2.2" targetFramework="net461" />
|
||||
|
@ -1,15 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MailDTO
|
||||
{
|
||||
public class MailDTO
|
||||
{
|
||||
public string Subject { get; set; }
|
||||
public string EMailTo { get; set; }
|
||||
public string Content { get; set; }
|
||||
}
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{07B5BD11-726F-4506-9FD8-783880AAE0EF}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>MailDTO</RootNamespace>
|
||||
<AssemblyName>MailDTO</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="MailDTO.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("MailDTO")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("MailDTO")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("07b5bd11-726f-4506-9fd8-783880aae0ef")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
@ -1,4 +1,5 @@
|
||||
using System.Web.Optimization;
|
||||
using System.Web;
|
||||
using System.Web.Optimization;
|
||||
|
||||
namespace MailSender
|
||||
{
|
||||
|
@ -1,4 +1,5 @@
|
||||
using System.Web.Mvc;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace MailSender
|
||||
{
|
||||
|
@ -1,4 +1,8 @@
|
||||
using System.Web.Mvc;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
|
||||
namespace MailSender
|
||||
|
@ -1,5 +1,5 @@
|
||||
body {
|
||||
padding-top: 15rem;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
@ -18,372 +18,7 @@
|
||||
|
||||
/* Set width on the form input elements since they're 100% wide by default */
|
||||
input,
|
||||
select {
|
||||
select,
|
||||
textarea {
|
||||
max-width: 280px;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
background: linear-gradient(#47478f 15%,#4d4794);
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.navbar a {
|
||||
color: #fafafa;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.navbar-toggle .icon-bar {
|
||||
background: #b7c5d8;
|
||||
width: 28px;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
font-size: 2.5rem;
|
||||
font-weight: 700;
|
||||
height: 70px;
|
||||
line-height: 4rem;
|
||||
}
|
||||
|
||||
.navbar-toggle {
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
.navbar > .container {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.nav > li > a:hover, .nav > li > a:focus {
|
||||
background-color: #5a5aa7;
|
||||
}
|
||||
|
||||
|
||||
.category-list-wrapper {
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.category-wrapper > ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.category-list {
|
||||
display: grid;
|
||||
padding: 0;
|
||||
grid-row-gap: 2rem;
|
||||
}
|
||||
|
||||
.category-list > li {
|
||||
height: 9rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #bbbbc5;
|
||||
border-radius: 1rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.category-list > li > a {
|
||||
text-decoration: none;
|
||||
color: #fafafa;
|
||||
font-size: 3rem;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-align: center;
|
||||
line-height: 9rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.single-category-wrapper {
|
||||
padding: 3rem;
|
||||
background-color: #f2f2f2;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.single-category-wrapper > h2 {
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
.single-category-wrapper > ul {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.single-category-wrapper > ul li {
|
||||
padding: 1.5rem 0;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.single-category-wrapper > ul li a {
|
||||
text-decoration: none;
|
||||
color: #3b3b3b;
|
||||
}
|
||||
|
||||
.add-topic {
|
||||
width: 100%;
|
||||
border: none;
|
||||
background: #79bd9b;
|
||||
padding: 10px;
|
||||
border-radius: 1rem;
|
||||
font-size: 1.8rem;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
|
||||
.add-topic > a {
|
||||
color: #fafafa;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.form-AddQuestion {
|
||||
background-color: #f1f1f3;
|
||||
padding: 3rem;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.form-AddQuestion input {
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
.form-personal-data {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.form-personal-data .form-group {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.form-AddQuestion input[type=submit], .add-answer input[type=submit] {
|
||||
border: none;
|
||||
background: #79bd9b;
|
||||
padding: 10px;
|
||||
border-radius: 1rem;
|
||||
font-size: 1.8rem;
|
||||
color: #fafafa;
|
||||
}
|
||||
|
||||
.form-AddQuestion input[type=submit] {
|
||||
margin-top: 1.7rem;
|
||||
}
|
||||
|
||||
.form-AddQuestion__btn {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.textarea-wrapper {
|
||||
width: 50%;
|
||||
margin: 20px auto;
|
||||
padding: 5px; /*workaround for textarea margin*/
|
||||
background: #FFF;
|
||||
border: 1px solid #808080;
|
||||
}
|
||||
|
||||
textarea {
|
||||
max-width: none;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.answer-list__question {
|
||||
background: #dee0eb;
|
||||
padding: 3rem;
|
||||
overflow-wrap: break-word;
|
||||
border-radius: 1rem;
|
||||
margin-bottom: 5rem;
|
||||
}
|
||||
|
||||
.answer-list__question h2 {
|
||||
margin: 0;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.answer-list__info {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.answer-list__answer {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.username {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.answer-list__answer__info {
|
||||
background: #4d4c4c;
|
||||
color: #fafafa;
|
||||
padding: 1rem 2rem;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.answer-list__answer__info--proffesional {
|
||||
background: #c68585;
|
||||
}
|
||||
|
||||
.answer-list__single-answer {
|
||||
border: 1px solid #c0bebe;
|
||||
border-radius: 1rem;
|
||||
margin-bottom: 3rem;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.answer-list__content {
|
||||
padding: 2rem 2rem;
|
||||
width: 100%;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
.answer-list__heading {
|
||||
margin: 2rem 0;
|
||||
}
|
||||
|
||||
.answer-list__add-btn {
|
||||
border: none;
|
||||
background: #79bd9b;
|
||||
border-radius: 1rem;
|
||||
font-size: 1.8rem;
|
||||
color: #fafafa;
|
||||
width: 20rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 5rem;
|
||||
}
|
||||
|
||||
.answer-list__add-btn a {
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: white;
|
||||
text-align: center;
|
||||
line-height: 5rem;
|
||||
}
|
||||
|
||||
.add-answer {
|
||||
background: #f2f2f2;
|
||||
padding: 3rem;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
|
||||
.form-group--mailContent
|
||||
{
|
||||
width:35%;
|
||||
|
||||
}
|
||||
|
||||
.form-control--input
|
||||
{
|
||||
width: 280px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.w100 {
|
||||
width: 100% !important;
|
||||
max-width: 100% !important;
|
||||
}
|
||||
|
||||
.form-emailsend
|
||||
{
|
||||
color: black;
|
||||
width: 500px;
|
||||
}
|
||||
.answer-list__add-btn--sendButton
|
||||
{
|
||||
/*margin-left: 18%;*/
|
||||
width:7%;
|
||||
|
||||
}
|
||||
#exampleFormControlTextarea3
|
||||
{
|
||||
width: 280px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.navbar > .container {
|
||||
height: 10rem;
|
||||
}
|
||||
|
||||
.navbar-header {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.navbar-brand {
|
||||
font-size: 3.5rem;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
height: 100px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.navbar-nav > li {
|
||||
height: 50%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.navbar-nav > li > a {
|
||||
height: 100%;
|
||||
border-radius: 0.8rem;
|
||||
}
|
||||
|
||||
.nav > li > a:hover, .nav > li > a:focus {
|
||||
transition: background-color .1s ease;
|
||||
}
|
||||
|
||||
.category-list {
|
||||
/*grid-template-columns: 1fr 1fr;*/
|
||||
grid-column-gap: 2rem;
|
||||
}
|
||||
|
||||
.single-category-wrapper {
|
||||
width: 65%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.form-AddQuestion__btn {
|
||||
flex-direction: row;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.form-personal-data {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.form-personal-data .form-group {
|
||||
width: 49%;
|
||||
}
|
||||
|
||||
.form-AddQuestion input[type=submit] {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
@ -1,21 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace MailSender.Controllers
|
||||
{
|
||||
[RoutePrefix("def")]
|
||||
public class DefaultController : Controller
|
||||
{
|
||||
[HttpGet]
|
||||
public ActionResult Index()
|
||||
{
|
||||
//var model = JsonConvert.SerializeObject(new Models.MailModel() { Content = "DDD", EMailTo = "ddd@o2.pl", Subject = "LLLLLL" });
|
||||
//TempData.Add("mailModel", model);
|
||||
return RedirectToAction("Index", "Home");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,59 +1,45 @@
|
||||
using System.Net.Mail;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Net.Mail;
|
||||
using System.Net;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.ModelBinding;
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
using System.Configuration;
|
||||
using System.Web.Helpers;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MailSender.Controllers
|
||||
{
|
||||
[RoutePrefix("")]
|
||||
public class HomeController : Controller
|
||||
{
|
||||
[HttpPost]
|
||||
public ActionResult Index([System.Web.Http.FromBody]MailDTO.MailDTO mail)
|
||||
{
|
||||
var model = new Models.MailModel(mail);
|
||||
TempData.Add("mailMod", model);
|
||||
return View(model);
|
||||
}
|
||||
|
||||
{
|
||||
[HttpGet]
|
||||
public ActionResult Index()
|
||||
{
|
||||
if(TempData["mailMod"] != null)
|
||||
{
|
||||
return View(TempData["mailMod"]);
|
||||
}
|
||||
return View(new Models.MailModel());
|
||||
}
|
||||
|
||||
[System.Web.Http.HttpGet]
|
||||
[HttpGet]
|
||||
public ActionResult Error(string errMsg)
|
||||
{
|
||||
TempData.Add("errMsg", errMsg);
|
||||
return RedirectToAction("Index");
|
||||
ViewData.Add("errMsg", errMsg);
|
||||
return View();
|
||||
}
|
||||
|
||||
[System.Web.Mvc.HttpPost]
|
||||
public ActionResult Send(MailSender.Models.MailModel model)
|
||||
[HttpPost]
|
||||
public ActionResult Index(MailSender.Models.MailModel model)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var smtpClient = new SmtpClient(ConfigurationManager.AppSettings["smtp-server"],
|
||||
Int32.Parse(ConfigurationManager.AppSettings["smtp-port"]))
|
||||
var smtpClient = new SmtpClient(Settings.smtpServer, Settings.smtpPort)
|
||||
{
|
||||
Credentials = new NetworkCredential(
|
||||
ConfigurationManager.AppSettings["user-mail"],
|
||||
ConfigurationManager.AppSettings["pass-mail"]),
|
||||
Credentials = new NetworkCredential(Settings.user, Settings.pass),
|
||||
EnableSsl = true
|
||||
};
|
||||
smtpClient.Send(ConfigurationManager.AppSettings["user-mail"], model.EMailTo, model.Subject, model.Content);
|
||||
return Redirect(ConfigurationManager.AppSettings["forum-address"]);
|
||||
smtpClient.Send(Settings.user, model.EMailTo, model.Subject, model.Content);
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
else
|
||||
return RedirectToAction("Error", new { errMsg = "Błąd wysyłania wiadomości e-mail." });
|
||||
return RedirectToAction("Error", new { errMsg = "Error nie umiesz pisac maila menelu" });
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
using System.Web.Mvc;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Optimization;
|
||||
using System.Web.Routing;
|
||||
|
||||
|
@ -51,9 +51,6 @@
|
||||
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="Microsoft.Owin, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.4.0.0\lib\net451\Microsoft.Owin.dll</HintPath>
|
||||
@ -64,21 +61,12 @@
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Web.Http.Common.4.0.20126.16343\lib\net40\System.Web.Http.Common.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
@ -163,18 +151,21 @@
|
||||
<Reference Include="Microsoft.AI.Web">
|
||||
<HintPath>..\packages\Microsoft.ApplicationInsights.Web.2.5.1\lib\net45\Microsoft.AI.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">
|
||||
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="App_Start\BundleConfig.cs" />
|
||||
<Compile Include="App_Start\FilterConfig.cs" />
|
||||
<Compile Include="App_Start\RouteConfig.cs" />
|
||||
<Compile Include="Controllers\DefaultController.cs" />
|
||||
<Compile Include="Controllers\HomeController.cs" />
|
||||
<Compile Include="Global.asax.cs">
|
||||
<DependentUpon>Global.asax</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Models\MailModel.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Settings.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Content\bootstrap-theme.css" />
|
||||
@ -190,8 +181,6 @@
|
||||
<Content Include="ApplicationInsights.config">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<None Include="Properties\PublishProfiles\mailsender-inzynieria1 - FTP.pubxml" />
|
||||
<None Include="Properties\PublishProfiles\mailsender-inzynieria1 - Web Deploy.pubxml" />
|
||||
<None Include="Scripts\jquery-3.3.1.intellisense.js" />
|
||||
<Content Include="Scripts\jquery-3.3.1.js" />
|
||||
<Content Include="Scripts\jquery-3.3.1.min.js" />
|
||||
@ -218,7 +207,6 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
<Folder Include="Views\Default\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="fonts\glyphicons-halflings-regular.woff2" />
|
||||
@ -233,12 +221,6 @@
|
||||
<Content Include="Scripts\jquery-3.3.1.slim.min.map" />
|
||||
<Content Include="Scripts\jquery-3.3.1.min.map" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\MailDTO\MailDTO.csproj">
|
||||
<Project>{07b5bd11-726f-4506-9fd8-783880aae0ef}</Project>
|
||||
<Name>MailDTO</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
@ -269,7 +251,7 @@
|
||||
</ProjectExtensions>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
<ErrorText>Ten projekt zawiera odwołania do pakietów NuGet, których nie ma na tym komputerze. Użyj przywracania pakietów NuGet, aby je pobrać. Aby uzyskać więcej informacji, zobacz http://go.microsoft.com/fwlink/?LinkID=322105. Brakujący plik: {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
|
||||
</Target>
|
||||
|
@ -1,5 +1,9 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using MailDTO;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Data.Entity;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace MailSender.Models
|
||||
@ -12,34 +16,20 @@ namespace MailSender.Models
|
||||
|
||||
//[ForeignKey]
|
||||
//public int UserId //id usera ktory wyslal maila
|
||||
|
||||
[Display(Name = "Temat")]
|
||||
|
||||
[Display(Name = "Subject")]
|
||||
[Required(AllowEmptyStrings = false)]
|
||||
public string Subject { get; set; }
|
||||
|
||||
|
||||
[DataType(DataType.EmailAddress)]
|
||||
[Required(AllowEmptyStrings = false, ErrorMessage = "Musisz wprowadzić adres e-mail odbiorcy")]
|
||||
[RegularExpression(".*@.*\\..*", ErrorMessage = "Zły format")]
|
||||
[Display(Name = "Adres odbiorcy")]
|
||||
[EmailAddress(ErrorMessage ="Zły format")]
|
||||
[Required(AllowEmptyStrings = false, ErrorMessage = "You need to type in an e-mail")]
|
||||
[RegularExpression(".*@.*\\..*", ErrorMessage = "You typed in e-mail in wrong format")]
|
||||
[Display(Name = "E-Mail to")]
|
||||
public string EMailTo { get; set; }
|
||||
|
||||
[Display(Name ="Odpowiedź")]
|
||||
[Required(AllowEmptyStrings = false, ErrorMessage = "Proszę wprowadzić odpowiedź")]
|
||||
[DataType(DataType.MultilineText)]
|
||||
[Required(AllowEmptyStrings = false, ErrorMessage = "You need to type in a message to send")]
|
||||
[DataType(DataType.Text)]
|
||||
[StringLength(500, ErrorMessage = "Message has to have between 1 and 500 chars", MinimumLength = 1)]
|
||||
public string Content { get; set; }
|
||||
|
||||
public MailModel()
|
||||
{
|
||||
Content = EMailTo = Subject = string.Empty;
|
||||
}
|
||||
|
||||
public MailModel(MailDTO.MailDTO DTO)
|
||||
{
|
||||
this.Content = DTO.Content;
|
||||
this.EMailTo = DTO.EMailTo;
|
||||
this.Subject = DTO.Subject;
|
||||
}
|
||||
public string Content { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// Informacje ogólne o zestawie zależą od poniższego
|
||||
|
15
Trunk/Server/Forum/MailSender/Settings.cs
Normal file
15
Trunk/Server/Forum/MailSender/Settings.cs
Normal file
@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace MailSender
|
||||
{
|
||||
public class Settings
|
||||
{
|
||||
public static string smtpServer = "smtp.gmail.com";
|
||||
public static int smtpPort = 587;
|
||||
public static string user = "ttestowy504@gmail.com";
|
||||
public static string pass = "ChyzySoftware";
|
||||
}
|
||||
}
|
@ -1,37 +1,35 @@
|
||||
@model MailSender.Models.MailModel
|
||||
@{
|
||||
//ViewBag.Title = "Mail Sender";
|
||||
@{
|
||||
ViewBag.Title = "Mail Sender";
|
||||
}
|
||||
<h2>Send Mail</h2>
|
||||
|
||||
|
||||
@if (TempData["mailErr"] != null)
|
||||
@if (ViewData.ContainsKey("mailErr"))
|
||||
{
|
||||
string errStr = TempData["mailErr"] as string;
|
||||
<h3>Error: @TempData["mailErr"]</h3>
|
||||
TempData["mailErr"] = null;
|
||||
<h3>Error: @ViewData["mailErr"]</h3>
|
||||
}
|
||||
|
||||
@using (Html.BeginForm("Send", "Home", FormMethod.Post))
|
||||
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(i => i.Subject, new { @class = "label-form" })
|
||||
@Html.EditorFor(i => i.Subject, new { htmlAttributes = new { @value = Model.Subject, @class = "form-control form-emailsend w100", @placeholder = "Temat" } })
|
||||
@Html.EditorFor(i => i.Subject, new { htmlAttributes = new { @class = "form-control", @placeholder = "Subject" } })
|
||||
@Html.ValidationMessageFor(i => i.Subject)
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(i => i.EMailTo, new { @class = "label-form" })
|
||||
@Html.EditorFor(i => i.EMailTo, new { htmlAttributes = new { @value = Model.EMailTo, @class = "form-control form-emailsend w100", @placeholder = "Do" } })
|
||||
@Html.EditorFor(i => i.EMailTo, new { htmlAttributes = new { @class = "form-control", @placeholder = "To" } })
|
||||
@Html.ValidationMessageFor(i => i.EMailTo)
|
||||
</div>
|
||||
|
||||
<div class="form-group" >
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(i => i.Content, new { @class = "label-form" })
|
||||
@Html.EditorFor(i => i.Content, new { htmlAttributes = new { @value = Model.Content, @class = "form-control w100", @id = "exampleFormControlTextarea3", @rows=9, @placeholder = "Odpowiedź" } })
|
||||
@Html.EditorFor(i => i.Content, new { htmlAttributes = new { @class = "form-control", @placeholder = "Body" } })
|
||||
@Html.ValidationMessageFor(i => i.Content)
|
||||
</div>
|
||||
|
||||
<input type="submit" value="Wyślij" class="answer-list__add-btn answer-list__add-btn--sendButton" />
|
||||
<input type="submit" value="Send" />
|
||||
}
|
||||
|
||||
@section Scripts {
|
||||
|
@ -4,12 +4,12 @@
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Serwis Email</title>
|
||||
<title>@ViewBag.Title — moja aplikacja platformy ASP.NET</title>
|
||||
@Styles.Render("~/Content/css")
|
||||
@Scripts.Render("~/bundles/modernizr")
|
||||
</head>
|
||||
<body>
|
||||
<div class="navbar navbar-fixed-top">
|
||||
<div class="navbar navbar-inverse navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
@ -17,11 +17,13 @@
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
@Html.ActionLink("E-mail", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
|
||||
@Html.ActionLink("Nazwa aplikacji", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nar">
|
||||
|
||||
<ul class="nav navbar-nav">
|
||||
<li>@Html.ActionLink("Strona główna", "Index", "Home")</li>
|
||||
<li>@Html.ActionLink("Informacje", "About", "Home")</li>
|
||||
<li>@Html.ActionLink("Kontakt", "Contact", "Home")</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -10,11 +10,6 @@
|
||||
</configSections>
|
||||
<appSettings>
|
||||
<add key="webpages:Version" value="3.0.0.0" />
|
||||
<add key="user-mail" value="ttestowy504@gmail.com" />
|
||||
<add key="pass-mail" value="ChyzySoftware" />
|
||||
<add key="smtp-port" value="587" />
|
||||
<add key="smtp-server" value="smtp.gmail.com" />
|
||||
<add key="forum-address" value="http://forum-inzynieria1.azurewebsites.net/home/index"/>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
<add key="ClientValidationEnabled" value="true" />
|
||||
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
|
||||
@ -70,12 +65,13 @@
|
||||
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
|
||||
</modules>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
<handlers>
|
||||
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
|
||||
<remove name="OPTIONSVerbHandler" />
|
||||
<remove name="TRACEVerbHandler" />
|
||||
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
|
||||
</handlers></system.webServer>
|
||||
</system.webServer>
|
||||
<system.codedom>
|
||||
<compilers>
|
||||
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
|
||||
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
|
||||
</compilers>
|
||||
</system.codedom>
|
||||
<entityFramework>
|
||||
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
|
||||
<parameters>
|
||||
@ -86,10 +82,4 @@
|
||||
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||
</providers>
|
||||
</entityFramework>
|
||||
<system.codedom>
|
||||
<compilers>
|
||||
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
|
||||
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
|
||||
</compilers>
|
||||
</system.codedom>
|
||||
</configuration>
|
@ -19,8 +19,6 @@
|
||||
<package id="Microsoft.AspNet.TelemetryCorrelation" version="1.0.0" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.Web.Optimization.pl" version="1.1.3" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.WebPages" version="3.2.4" targetFramework="net461" />
|
||||
<package id="Microsoft.AspNet.WebPages.pl" version="3.2.4" targetFramework="net461" />
|
||||
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.0" targetFramework="net461" />
|
||||
@ -31,6 +29,5 @@
|
||||
<package id="Newtonsoft.Json" version="11.0.1" targetFramework="net461" />
|
||||
<package id="Owin" version="1.0" targetFramework="net461" />
|
||||
<package id="System.Diagnostics.DiagnosticSource" version="4.4.1" targetFramework="net461" />
|
||||
<package id="System.Web.Http.Common" version="4.0.20126.16343" targetFramework="net461" />
|
||||
<package id="WebGrease" version="1.6.0" targetFramework="net461" />
|
||||
</packages>
|
Loading…
Reference in New Issue
Block a user