Visual Studio 201о
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
[HttpGet]ActionResult Register()
{View();
}
[HttpPost]ActionResult Register(string login, string passwd, string name, string logo)
x.login==login)!=null)">{(Dc.Users.SingleOrDefault(x=>x.login==login)!=null)
{Content("Упс! Ошибочка вышла - попробуй ввести другие аутентификационные данные...");
}randomizer = new Random();saltBuilder = new StringBuilder(randomizer.Next(4, 14));(int i = 0; i < saltBuilder.Capacity; i++)
{.Next();.Append(((char) randomizer.Next(0x21,0x7e)));
}salt = saltBuilder.ToString();
authData = Encoding.UTF8.GetBytes(salt + passwd + login);hasher = new SHA512Managed();hash = Convert.ToBase64String(hasher.ComputeHash(authData));user = new User()
{= Guid.NewGuid(),=salt,= login,= hash,= name
};.Users.AddObject(user);.SaveChanges();(user.id, Guid.NewGuid());(var ctx = System.IO.File.CreateText(HttpContext.Server.MapPath("~/app_data/logos/")+user.id.ToString()))
{.Write(logo);
}Json(new UserModel(user));
}
ActionResult Login()
{View();
}
[HttpPost]ActionResult Login(string login, string passwd)
x.login==login);(user!=null)">{user = Dc.Users.SingleOrDefault(x => x.login == login);(user != null)
{authData = Encoding.UTF8.GetBytes(user.salt + passwd + login);hasher = new SHA512Managed();hash = Convert.ToBase64String(hasher.ComputeHash(authData));
(hash == user.password)
{js = Json(new UserModel(user));ses = new Session() {uid = user.id, id=Guid.NewGuid()};(user.id, ses.id);js;
}
}Content("fail");
}
[Authorized]ActionResult Logout()
x.id==sesid&&x.uid==uid);(ses!=null)">{sesid = Guid.Parse(System.Web.HttpContext.Current.Request.Cookies["sesid"].Value);uid = Guid.Parse(System.Web.HttpContext.Current.Request.Cookies["uid"].Value);ses = Dc.Sessions.SingleOrDefault(x => x.id == sesid && x.uid == uid);(ses != null)
{(Guid.Empty, Guid.Empty);RedirectToAction("Login");
}Content("fail");
}int SetSession(Guid uid, Guid sesid)
{dc = new WINEntities();(sesid==Guid.Empty)
x.id==sesid);.Sessions.DeleteObject(s);.SaveChanges();.Response.Clear();0;">{= Guid.Parse(System.Web.HttpContext.Current.Request.Cookies["sesid"].Value);s = dc.Sessions.Single(x =>x.id==sesid);.Sessions.DeleteObject(s);.SaveChanges();.Response.Clear();0;
}.Web.HttpContext.Current.Response.Cookies["uid"].Value=uid.ToString();.Web.HttpContext.Current.Response.Cookies["sesid"].Value = sesid.ToString();ses = new Session {id = sesid, uid = uid};.Sessions.AddObject(ses);saveChanges = dc.SaveChanges();saveChanges;
}
}
}
System;System.Collections.Generic;System.Drawing;System.Drawing.Imaging;System.Linq;System.Web;System.Web.Mvc;wIN_test_1_.Attributes;wIN_test_1_.Models;System.IO;
wIN_test_1_.Controllers
{class HomeController : Controller
{
[Authorized]ActionResult Index()
{View();
}ActionResult About()
{View();
}
[HttpPost]
[Authorized]ActionResult ChangeLogo(string data)
{uid = HttpContext.Request.Cookies.Get("uid").Value;(var fctx = System.IO.File.CreateText(HttpContext.Server.MapPath("~/app_data/logos/") + uid))
{.Write(data);
}Content("ok");
}
[HttpPost]ActionResult TakeImageList(Guid location, int offset, int count)
15)count=15;entities=(fromimageinctx.Imageswhereimage.location==locationorderbyimage.dateselectimage).Skip(offset).Take(count).ToList();result=newList();(var entity in entities)
{.Add(new ImageMiniatureModel(entity));
}Json(result);
}
[HttpPost]ActionResult GetImage(Guid id)
{(var ctx = new WINEntities())
x.id==id);Json(newImageModel(image));">{image = ctx.Images.SingleOrDefault(x => x.id == id);Json(new ImageModel(image));
}
}
[HttpPost]ActionResult SaveImage(Guid id, Guid uid, Guid location, string data)
{(data.IndexOf("data:image/png;base64,") != 0)Content("Замечтался, петушок?)");(var ctx = new WINEntities())
{
image = null;(uid == Guid.Empty)
{= Guid.Parse(HttpContext.Request["uid"]);
}(location == Guid.Empty)
{= uid;
}(id == Guid.Empty)
{= Guid.NewGuid();= new Image()
{= id,= uid,= location,= DateTime.Now
};.Images.AddObject(image);
}
{= (from img in ctx.Images where img.id == id select img).FirstOrDefault() ?? new Image() { id = Guid.NewGuid(), uid = uid, location = uid };(image.uid != uid)
{Content("Замечтался, петушок?)");
}
}(var file = System.IO.File.CreateText(HttpContext.Request.MapPath("~/app_data/images/") + image.id))
{.Write(data);
}[] min = Convert.FromBase64String(data.Replace("data:image/png;base64,", ""));(MemoryStream ms = new MemoryStream(min))
{bmp = new System.Drawing.Bitmap(ms);newX = 64;newY = bmp.VerticalResolution * newX / bmp.HorizontalResolution;.SetResolution(newX, newY);.Flush();(var memory = new MemoryStream())
x.MimeType=="image/png"),enc);(fctx=.IO.File.CreateText(HttpContext.Request.MapPath("~/app_data/images/")+image.id+">{enc = new EncoderParameters(1);.Param[0] = new EncoderParameter(Encoder.Compression, (long)EncoderValue.CompressionLZW);.Save(memory,.GetImageEncoders().SingleOrDefault(x => x.MimeType == "image/png"), enc);(fctx =.IO.File.CreateText(HttpContext.Request.MapPath("~/app_data/images/") + image.id +
".min"))
{.Write("data:image/png;base64," + Convert.ToBase64String(memory.GetBuffer()));
}
}
}.SaveChanges();js = Json(new ImageModel(image) { Data = "" });js;
}
}
[HttpGet]ActionResult FriendList()
{View();
}
[HttpPost]ActionResult FriendList(int offset, int count)
{(var ctx = new WINEntities())
{cnt = ctx.Users.LongCount();(cnt<15)
{(offset > cnt) offset = 0;= (int)cnt - offset;
}if ((offset + count) > cnt)
{Content("Упс, ошибочка...");
();(varuserinusers)">}users = (from user in ctx.Users orderby user.rate select user).Skip(offset).Take(count).ToList();result = new List();(var user in users)
{.Add(new UserModel(user));
}Json(result);
}
}
}
}
System;System.Collections.Generic;System.Linq;System.Web;System.Web.Mvc;System.Web.Routing;wIN_test_1_.Models;wIN_test_1_.Controllers
{class UserController : Controller
{
//
// GET: /User/ActionResult Index()
{RedirectToAction("Index", "Home");
}
[HttpGet]ActionResult Index(Guid uid)
{.uid = uid;View();
}
[HttpPost]ActionResult GetInfo(Guid uid)
x.id==uid)));">{ctx = new WINEntities();Json(new UserModel(ctx.Users.SingleOrDefault(x => x.id == uid)));
}
}
}
.1.2 Представления
@{.Title = "Login";
}
#authpanel
{: absolute;color: #99CCFF;: 2em 25% 3% 25%;: 0.5em;: 20%;: 35%;: 15%;: 28%;: 40%;
moz-border-radius: 5px;
khtml-border-radius: 10px;width: 300px;
}
#welcome
{: absolute;: 28%;: 20%;: left;: 35%; /*height:35%;*/radius:6px;
moz-border-radius:5px;
khtml-border-radius:10px;width: 300px;
}
.authhelper
{: 100%;: 1.5em;
}
.authhelper:hover
{: 1.5px;color: Black;
}
{: Black;weight: bold;family: Segoe UI;
}
#submit:hover
{: 2px solid Black;
}
*
{radius: 4px;
}
#submit
{: 1px solid Black;align: center;
}
#menu
{: 11px Arial, Helvetica, sans-serif;image: url(../../Content/bc_bg.png);repeat: repeat-x;: 30px;height: 30px;: #9b9b9b;: solid 1px #cacaca;: 100%;: hidden;: 0px;: 0px;
}
#menu li
{style-type: none;: left;left: 10px;
}
#menu a
{: 30px;: block;image: url(../../Content/bc_separator.png);repeat: no-repeat;position: right;right: 15px;decoration: none;: #454545;
}
.home
{: none;: 8px 0px;
}
#menu a:hover
{: gray;
}
<img src="../../Content/lolwin_logo.png" alt="Lolw.in" class="home" height=