Skip to content

Commit 3795c4f

Browse files
committed
Add user info (problems with validation)
1 parent f5af904 commit 3795c4f

File tree

212 files changed

+2710
-35
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

212 files changed

+2710
-35
lines changed

EPAM.MyBlog.DAL.DB/DAL.cs

Lines changed: 107 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -408,12 +408,117 @@ public bool DeleteCommentById(Guid id)
408408
}
409409
}
410410

411+
public Entities.UserInfo GetUserInfo(string name)
412+
{
413+
using (SqlConnection con = new SqlConnection(ConnectionString))
414+
{
415+
SqlCommand command = new SqlCommand("SELECT Avatar, Type, Sex, Birthday, True_Name, About FROM dbo.UserAbout RIGHT JOIN Users ON Users.Login = UserAbout.Login Where Users.Login = @Login", con);
416+
command.Parameters.Add(new SqlParameter("@Login", name));
417+
con.Open();
418+
Entities.UserInfo info = new Entities.UserInfo() { Login = name };
419+
int count = 0;
420+
var reader = command.ExecuteReader();
421+
422+
while (reader.Read())
423+
{
424+
if (DBNull.Value.Equals(reader["Avatar"]))
425+
{
426+
info.Avatar = null;
427+
}
428+
else
429+
{
430+
info.Avatar = (byte[])reader["Avatar"];
431+
}
432+
433+
if (DBNull.Value.Equals(reader["Type"]))
434+
{
435+
info.MimeType = null;
436+
}
437+
else
438+
{
439+
info.MimeType = (string)reader["Type"];
440+
}
441+
if (DBNull.Value.Equals(reader["Sex"]))
442+
{
443+
info.Sex = null;
444+
}
445+
else
446+
{
447+
info.Sex = (string)reader["Sex"];
448+
}
449+
if (DBNull.Value.Equals(reader["Birthday"]))
450+
{
451+
info.Birthday = null;
452+
}
453+
else
454+
{
455+
info.Birthday = (DateTime)reader["Birthday"];
456+
}
457+
if (DBNull.Value.Equals(reader["True_Name"]))
458+
{
459+
info.Name = null;
460+
}
461+
else
462+
{
463+
info.Name = (string)reader["True_Name"];
464+
}
465+
if (DBNull.Value.Equals(reader["About"]))
466+
{
467+
info.AboutMe = null;
468+
}
469+
else
470+
{
471+
info.AboutMe = (string)reader["About"];
472+
}
473+
count++;
474+
}
475+
if (count < 0)
476+
{
477+
return info = null;
478+
}
479+
else
480+
{
481+
return info;
482+
}
483+
}
484+
}
485+
411486
#endregion
412487

413488

414489

415-
490+
public void SaveReason(string reason)
491+
{
492+
using (SqlConnection con = new SqlConnection(ConnectionString))
493+
{
494+
SqlCommand command = new SqlCommand("INSERT INTO dbo.Reasons VALUES (@Reason)", con);
495+
command.Parameters.Add(new SqlParameter("@Reason", reason));
496+
con.Open();
497+
}
498+
}
499+
416500

417-
501+
public bool SaveInfoText(Entities.UserInfo info)
502+
{
503+
using (SqlConnection con = new SqlConnection(ConnectionString))
504+
{
505+
SqlCommand command = new SqlCommand("UPDATE dbo.UserAbout SET Sex = @Sex, Birthday = CAST(@Birthday AS Date), True_Name = @True_Name, About = @About WHERE Login = @Login", con);
506+
command.Parameters.Add(new SqlParameter("@Sex", info.Sex));
507+
command.Parameters.Add(new SqlParameter("@Birthday", info.Birthday));
508+
command.Parameters.Add(new SqlParameter("@True_Name", info.Name));
509+
command.Parameters.Add(new SqlParameter("@About", info.AboutMe));
510+
command.Parameters.Add(new SqlParameter("@Login", info.Login));
511+
con.Open();
512+
int count = command.ExecuteNonQuery();
513+
if (count > 0)
514+
{
515+
return true;
516+
}
517+
else
518+
{
519+
return false;
520+
}
521+
}
522+
}
418523
}
419524
}
Binary file not shown.
Binary file not shown.
1 KB
Binary file not shown.
6 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

EPAM.MyBlog.UI.Web/Content/css/style.css

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@ body{
2929

3030
}
3131

32-
#content{
33-
background-color:rgba(229, 220, 213, 0.8);
34-
32+
#content {
33+
background-color: rgba(229, 220, 213, 0.8);
34+
-ms-word-break: break-all;
35+
word-break: break-all;
36+
overflow-y: auto;
3537
}
3638

3739
.head{
@@ -92,7 +94,7 @@ p {
9294
font-size: 16px;
9395
}
9496

95-
.username, legend{
97+
.title, .username, legend{
9698
font-family: Georgia, 'Times New Roman', Times, serif;
9799
font-size: 26px;
98100
}
@@ -105,7 +107,21 @@ p {
105107
margin-top:10px;
106108
}
107109

108-
.error-login{
110+
.error-login, .title{
109111
font-size: 26px;
110112
margin-top:20px;
113+
}
114+
115+
.title{
116+
border: 0;
117+
border-bottom: 1px solid #e5e5e5;
118+
display:inline-block;
119+
}
120+
121+
.title p{
122+
margin-top:10px;
123+
}
124+
125+
.list > div{
126+
margin-top: 20px;
111127
}
24.8 KB
Loading

EPAM.MyBlog.UI.Web/Controllers/AccountController.cs

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ public ActionResult DeleteAc(ConfirmModel model)
157157
if (model.Confirm)
158158
{
159159
LoginModel.LogOut();
160+
LoginModel.SaveReason(model.Reason);
160161
LoginModel.DeleteUser(User.Identity.Name);
161162
}
162163
return RedirectToAction("Index", "Home");
@@ -166,12 +167,38 @@ public ActionResult DeleteAc(ConfirmModel model)
166167
}
167168

168169

169-
[AllowAnonymous]
170-
[ChildActionOnly]
171-
public ActionResult Avatar()
170+
public ActionResult AboutMe()
172171
{
172+
var info = UserAboutModel.GetInfo(User.Identity.Name);
173+
return View(info);
174+
}
173175

174-
return PartialView();
176+
public ActionResult EditInfoText()
177+
{
178+
var info = UserAboutModel.GetInfo(User.Identity.Name);
179+
return View(info);
180+
}
181+
182+
183+
[HttpPost]
184+
[ValidateAntiForgeryToken]
185+
public ActionResult EditInfoText(UserAboutModel model)
186+
{
187+
if (ModelState.IsValid)
188+
{
189+
if (model.SetInfo())
190+
{
191+
return RedirectToAction("AboutMe", "Account");
192+
}
193+
else
194+
{
195+
return View(model);
196+
}
197+
}
198+
else
199+
{
200+
return View(model);
201+
}
175202
}
176203
}
177204
}

EPAM.MyBlog.UI.Web/Controllers/HomeController.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,9 @@ public ActionResult Index()
1616
return View();
1717
}
1818

19+
public ActionResult Help()
20+
{
21+
return View();
22+
}
1923
}
2024
}

EPAM.MyBlog.UI.Web/EPAM.MyBlog.UI.Web.csproj

Lines changed: 90 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,9 @@
120120
<Compile Include="Global.asax.cs">
121121
<DependentUpon>Global.asax</DependentUpon>
122122
</Compile>
123-
<Compile Include="Models\AvatarModel.cs" />
123+
<Compile Include="Models\UserAboutModel.cs" />
124124
<Compile Include="Models\CommentModel.cs" />
125125
<Compile Include="Models\ConfirmModel.cs" />
126-
<Compile Include="Models\FileWorker.cs" />
127126
<Compile Include="Models\MyRoleProvider.cs" />
128127
<Compile Include="Models\PostModel.cs" />
129128
<Compile Include="Models\PresentPostModel.cs" />
@@ -143,6 +142,7 @@
143142
<Content Include="Content\css\style.css" />
144143
<Content Include="Content\img\cropped-345656.jpg" />
145144
<Content Include="Content\img\logo.png" />
145+
<Content Include="Content\img\User-icon.png" />
146146
<Content Include="Global.asax" />
147147
<Content Include="fonts\glyphicons-halflings-regular.woff" />
148148
<Content Include="fonts\glyphicons-halflings-regular.ttf" />
@@ -158,7 +158,83 @@
158158
<Content Include="Scripts\jquery.validate.min.js" />
159159
<Content Include="Scripts\jquery.validate.unobtrusive.js" />
160160
<Content Include="Scripts\jquery.validate.unobtrusive.min.js" />
161+
<Content Include="Scripts\license.txt" />
161162
<Content Include="Scripts\npm.js" />
163+
<Content Include="Scripts\tinymce.min.js" />
164+
<Content Include="Scripts\tinymce\license.txt" />
165+
<Content Include="Scripts\tinymce\tinymce.min.js" />
166+
<Content Include="Scripts\tinymce\tinymce\license.txt" />
167+
<Content Include="Scripts\tinymce\tinymce\plugins\advlist\plugin.min.js" />
168+
<Content Include="Scripts\tinymce\tinymce\plugins\anchor\plugin.min.js" />
169+
<Content Include="Scripts\tinymce\tinymce\plugins\autolink\plugin.min.js" />
170+
<Content Include="Scripts\tinymce\tinymce\plugins\autoresize\plugin.min.js" />
171+
<Content Include="Scripts\tinymce\tinymce\plugins\autosave\plugin.min.js" />
172+
<Content Include="Scripts\tinymce\tinymce\plugins\bbcode\plugin.min.js" />
173+
<Content Include="Scripts\tinymce\tinymce\plugins\charmap\plugin.min.js" />
174+
<Content Include="Scripts\tinymce\tinymce\plugins\code\plugin.min.js" />
175+
<Content Include="Scripts\tinymce\tinymce\plugins\colorpicker\plugin.min.js" />
176+
<Content Include="Scripts\tinymce\tinymce\plugins\contextmenu\plugin.min.js" />
177+
<Content Include="Scripts\tinymce\tinymce\plugins\directionality\plugin.min.js" />
178+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-cool.gif" />
179+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-cry.gif" />
180+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-embarassed.gif" />
181+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-foot-in-mouth.gif" />
182+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-frown.gif" />
183+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-innocent.gif" />
184+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-kiss.gif" />
185+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-laughing.gif" />
186+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-money-mouth.gif" />
187+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-sealed.gif" />
188+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-smile.gif" />
189+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-surprised.gif" />
190+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-tongue-out.gif" />
191+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-undecided.gif" />
192+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-wink.gif" />
193+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\img\smiley-yell.gif" />
194+
<Content Include="Scripts\tinymce\tinymce\plugins\emoticons\plugin.min.js" />
195+
<Content Include="Scripts\tinymce\tinymce\plugins\example\dialog.html" />
196+
<Content Include="Scripts\tinymce\tinymce\plugins\example\plugin.min.js" />
197+
<Content Include="Scripts\tinymce\tinymce\plugins\example_dependency\plugin.min.js" />
198+
<Content Include="Scripts\tinymce\tinymce\plugins\fullpage\plugin.min.js" />
199+
<Content Include="Scripts\tinymce\tinymce\plugins\fullscreen\plugin.min.js" />
200+
<Content Include="Scripts\tinymce\tinymce\plugins\hr\plugin.min.js" />
201+
<Content Include="Scripts\tinymce\tinymce\plugins\image\plugin.min.js" />
202+
<Content Include="Scripts\tinymce\tinymce\plugins\importcss\plugin.min.js" />
203+
<Content Include="Scripts\tinymce\tinymce\plugins\insertdatetime\plugin.min.js" />
204+
<Content Include="Scripts\tinymce\tinymce\plugins\layer\plugin.min.js" />
205+
<Content Include="Scripts\tinymce\tinymce\plugins\legacyoutput\plugin.min.js" />
206+
<Content Include="Scripts\tinymce\tinymce\plugins\link\plugin.min.js" />
207+
<Content Include="Scripts\tinymce\tinymce\plugins\lists\plugin.min.js" />
208+
<Content Include="Scripts\tinymce\tinymce\plugins\media\moxieplayer.swf" />
209+
<Content Include="Scripts\tinymce\tinymce\plugins\media\plugin.min.js" />
210+
<Content Include="Scripts\tinymce\tinymce\plugins\nonbreaking\plugin.min.js" />
211+
<Content Include="Scripts\tinymce\tinymce\plugins\noneditable\plugin.min.js" />
212+
<Content Include="Scripts\tinymce\tinymce\plugins\pagebreak\plugin.min.js" />
213+
<Content Include="Scripts\tinymce\tinymce\plugins\paste\plugin.min.js" />
214+
<Content Include="Scripts\tinymce\tinymce\plugins\preview\plugin.min.js" />
215+
<Content Include="Scripts\tinymce\tinymce\plugins\print\plugin.min.js" />
216+
<Content Include="Scripts\tinymce\tinymce\plugins\save\plugin.min.js" />
217+
<Content Include="Scripts\tinymce\tinymce\plugins\searchreplace\plugin.min.js" />
218+
<Content Include="Scripts\tinymce\tinymce\plugins\spellchecker\plugin.min.js" />
219+
<Content Include="Scripts\tinymce\tinymce\plugins\tabfocus\plugin.min.js" />
220+
<Content Include="Scripts\tinymce\tinymce\plugins\table\plugin.min.js" />
221+
<Content Include="Scripts\tinymce\tinymce\plugins\template\plugin.min.js" />
222+
<Content Include="Scripts\tinymce\tinymce\plugins\textcolor\plugin.min.js" />
223+
<Content Include="Scripts\tinymce\tinymce\plugins\textpattern\plugin.min.js" />
224+
<Content Include="Scripts\tinymce\tinymce\plugins\visualblocks\css\visualblocks.css" />
225+
<Content Include="Scripts\tinymce\tinymce\plugins\visualblocks\plugin.min.js" />
226+
<Content Include="Scripts\tinymce\tinymce\plugins\visualchars\plugin.min.js" />
227+
<Content Include="Scripts\tinymce\tinymce\plugins\wordcount\plugin.min.js" />
228+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\content.inline.min.css" />
229+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\content.min.css" />
230+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\img\anchor.gif" />
231+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\img\loader.gif" />
232+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\img\object.gif" />
233+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\img\trans.gif" />
234+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\skin.ie7.min.css" />
235+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\skin.min.css" />
236+
<Content Include="Scripts\tinymce\tinymce\themes\modern\theme.min.js" />
237+
<Content Include="Scripts\tinymce\tinymce\tinymce.min.js" />
162238
<Content Include="Web.config" />
163239
<Content Include="Web.Debug.config">
164240
<DependentUpon>Web.config</DependentUpon>
@@ -193,6 +269,18 @@
193269
<Content Include="Views\Admin\UserComments.cshtml" />
194270
<Content Include="Views\Admin\DeleteComment.cshtml" />
195271
<Content Include="Views\Account\DeleteAc.cshtml" />
272+
<Content Include="Scripts\tinymce\tinymce\langs\readme.md" />
273+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\fonts\tinymce-small.eot" />
274+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\fonts\tinymce-small.svg" />
275+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\fonts\tinymce-small.ttf" />
276+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\fonts\tinymce-small.woff" />
277+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\fonts\tinymce.eot" />
278+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\fonts\tinymce.svg" />
279+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\fonts\tinymce.ttf" />
280+
<Content Include="Scripts\tinymce\tinymce\skins\lightgray\fonts\tinymce.woff" />
281+
<Content Include="Views\Home\Help.cshtml" />
282+
<Content Include="Views\Account\AboutMe.cshtml" />
283+
<Content Include="Views\Account\EditInfoText.cshtml" />
196284
</ItemGroup>
197285
<ItemGroup>
198286
<Folder Include="App_Data\" />

EPAM.MyBlog.UI.Web/Logs/Debug/2015.01.04.log

Whitespace-only changes.

EPAM.MyBlog.UI.Web/Logs/Debug/2015.01.06.log

Whitespace-only changes.

EPAM.MyBlog.UI.Web/Logs/Debug/2015.01.07.log

Whitespace-only changes.

EPAM.MyBlog.UI.Web/Logs/Errors/2015.01.04.log

Whitespace-only changes.

EPAM.MyBlog.UI.Web/Logs/Errors/2015.01.06.log

Whitespace-only changes.

EPAM.MyBlog.UI.Web/Logs/Errors/2015.01.07.log

Whitespace-only changes.

EPAM.MyBlog.UI.Web/Models/LoginModel.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,16 @@ static string GetString(byte[] bytes)
132132
return s;
133133
}
134134

135-
135+
136136

137137
internal static bool DeleteUser(string name)
138138
{
139139
return (GetDAL.dal.DeleteUser(name));
140140
}
141+
142+
internal static void SaveReason(string reason)
143+
{
144+
GetDAL.dal.SaveReason(reason);
145+
}
141146
}
142147
}

0 commit comments

Comments
 (0)