public ActionResult CreateG() { var model = new CreateGViewModel(); model.MainAdvisorCandidats = db.Users.ToList(); return(View(model)); }
public ActionResult Cg(CreateGViewModel model) { if (db.Groups.Where(g => g.Name == model.NameOfGroup).SingleOrDefault() != null) { ModelState.AddModelError("Error", @"This name is already occupied please think of another one"); return(View("CreateG", model)); } Group nGroup = new Group(); if (!db.Groups.Any()) { nGroup.GId = 1; } else { nGroup.GId = db.Groups.Max(g => g.GId) + 1; } nGroup.Name = model.NameOfGroup; nGroup.Description = model.Description; byte[] imageData = null; if (Request.Files.Count > 0) { HttpPostedFileBase poImgFile = Request.Files["Avatar"]; using (var binary = new BinaryReader(poImgFile.InputStream)) { imageData = binary.ReadBytes(poImgFile.ContentLength); } } nGroup.Avatar = imageData; db.Groups.Add(nGroup); var me = new GroupPerson(); var us = User.Identity.GetUserId(); me.User = db.Users.Where(u => u.Id == us).Single(); me.Group = nGroup; if (!db.GroupPersons.Any()) { me.Gpid = 1; } if (db.GroupPersons.Any()) { me.Gpid = db.GroupPersons.Max(grp => grp.Gpid) + 1; } me.Role = "Group Leader"; me.Status = "Confirmed"; db.GroupPersons.Add(me); string selMA = Request.Form["MASel"].ToString(); var newma = db.Users.Where(u => u.Id == selMA).Single(); var ma = new GroupPerson(); ma.User = newma; ma.Group = nGroup; ma.Gpid = me.Gpid + 1; ma.Role = "Main Advisor"; ma.Status = "Invitation"; db.GroupPersons.Add(ma); db.SaveChanges(); return(RedirectToAction("GroupManagement", "Home", new { @gid = nGroup.GId })); }