public void AddStatus(User user, Group group, Event ev, StatusFormModel formModel) { if (group != null) { if (!group.HasMember(user)) { throw new StatusException("User is not member of group"); } } var status = new Status { Text = formModel.Status, User = user, Group = group, Event = ev }; db.AddToStatusSet(status); // obrázky if (formModel.Images != null) { for (int i = 0; i < formModel.Images.Count; i++) { var uploadedImage = formModel.Images[i]; // vynechat neobrázky if (uploadedImage == null || uploadedImage.ContentLength == 0 || !ImageHelper.IsImage(uploadedImage.ContentType)) { continue; } // vyrobit entitu var img = new Image { Description = formModel.ImageDescriptions[i], }; db.ImageSet.AddObject(img); status.Images.Add(img); // uložit db, aby entita měla id a tudíž se dala vymyslet cesta k obrázku db.SaveChanges(); // uložit soubor imageService.SaveImage(img, uploadedImage.InputStream); } } // soubory if (formModel.Files != null) { for (int i = 0; i < formModel.Files.Count; i++) { var uploadedFile = formModel.Files[i]; if (uploadedFile == null || uploadedFile.ContentLength == 0) { continue; } // vyrobit entitu var file = new File { Description = formModel.FileDescriptions[i], FileName = uploadedFile.FileName, }; db.FileSet.AddObject(file); status.Files.Add(file); // uložit db, aby entita měla id a tudíž se dala vymyslet cesta k souboru db.SaveChanges(); // uložit soubor fileService.SaveFile(file, uploadedFile); } } // odkazy if (formModel.Links != null) { for (int i = 0; i < formModel.Links.Count; i++) { var url = formModel.Links[i]; if (String.IsNullOrWhiteSpace(url)) { continue; } status.Links.Add(new Link { URL = url, Description = formModel.LinkDescriptions[i], }); } } db.SaveChanges(); // přidat do zdí List <User> userList = user.Followers.ToList(); if (group != null) { userList.Union(group.Users); } else { userList.Add(user); } wallService.Add(status, userList.Distinct()); }
public ActionResult CreateAccount(UserViewModel userViewModel, HttpPostedFileBase file) { if (!ModelState.IsValid) { return(View("Index", userViewModel)); } var model = userService.GetBy(x => x.Username == userViewModel.Username); if (model != null) { ModelState.AddModelError("", "Username" + userViewModel.Username + "taken"); userViewModel.Username = ""; return(View("Index", userViewModel)); } Users u = new Users { Username = userViewModel.Username, Name = userViewModel.Firstname, LastName = userViewModel.LastName, Password = userViewModel.Password, Email = userViewModel.Email, IsDeleted = false }; userService.Add(u); int userId = u.Id; SessionSet <Users> .SetSession(u, "login"); var uploadsDir = new DirectoryInfo(string.Format("{0}Uploads", Server.MapPath(@"\"))); //Uploda Dosyasını bulabilmekl için assembly içinde Pathi verdik Yani: C/user/repos/Facebook.WebUI/Uploads.... if (file != null && file.ContentLength > 0) { string ext = file.ContentType.ToLower(); //Content type ı yani image.jpg veya image.png gibi yakaladık ve küçük harfe çevirdik.Aşağıda kontrol edebilmek için if (ext != "image/jpg" && ext != "image/jpeg" && ext != "image/pjeg" && ext != "image/gif" && ext != "image/x-png" && ext != "image/png") { ModelState.AddModelError("", "The image was not uploaded - wrong image extension."); userViewModel.Username = ""; return(View("Index", userViewModel)); } string imagename = userId + ".jpg"; //Fotografin adını id le bağladık 3.jpg 2.jpg var path = string.Format("{0}\\{1}", uploadsDir, imagename); //Dosya pathını ve fotograf adını birleştirip bir butun path haline getirdik file.SaveAs(path); //Uplodas dosyasın kayıt etttik Wall wall = new Wall(); wall.UserId = userId; wall.Message = ""; wall.DateEdited = DateTime.Now; wallservice.Add(wall); } return(Redirect("~/" + userViewModel.Username)); //Yönlendirdik }