public ActionResult Index() { AddNewPostViewModel model = new AddNewPostViewModel(); model.SetSharedData(User); return(View(model)); }
public ActionResult AddPost1() { try { var sess = Session["OrgId"].ToString(); int i = Convert.ToInt32(sess); var post = new Post(); // Get all the groups from the database var grp = db.OrgGroups.Where(c => c.OrgId == i).ToList(); // Get all the posttopics from the database var posttopics = db.PostTopics.ToList(); // Initialize the view model var viewmodel = new AddNewPostViewModel { Post = post, PostTopics = posttopics, OrgGroups = grp.Select(x => new OrgGroup() { OrgGroupId = x.OrgGroupId, OrgId = x.OrgId, GroupName = x.GroupName }) .ToList() }; ViewBag.OrgId = new SelectList(db.Orgs, "OrgId", "OrgName", post.OrgId); ViewBag.PostTopicId = new SelectList(db.PostTopics, "PostTopicId", "PostTopicName", post.PostTopicId); return(PartialView("~/Views/Shared/PartialViewsForms/_AddPost1.cshtml", viewmodel)); } catch (Exception e) { Console.WriteLine(e); return(Redirect("~/ErrorHandler.html")); } }
public async Task <ActionResult> Index(AddNewPostViewModel model) { try { MultipartFormDataContent content; bool FileAttached = (Request.RequestContext.HttpContext.Session["AddPostImage"] != null); byte[] fileData = null; var ImageFile = (HttpPostedFileWrapper)Request.RequestContext.HttpContext.Session["AddPostImage"]; if (FileAttached) { using (var binaryReader = new BinaryReader(ImageFile.InputStream)) { fileData = binaryReader.ReadBytes(ImageFile.ContentLength); } } else { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, "Please Choose an image to upload.")); } ByteArrayContent fileContent; JObject response; bool firstCall = true; callAgain : content = new MultipartFormDataContent(); if (FileAttached) { fileContent = new ByteArrayContent(fileData); fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = ImageFile.FileName }; content.Add(fileContent); } response = await ApiCall.CallApi("api/Admin/AddPost", User, isMultipart : true, multipartContent : content); if (firstCall && response.ToString().Contains("UnAuthorized")) { firstCall = false; goto callAgain; } else if (response.ToString().Contains("UnAuthorized")) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "UnAuthorized Error")); } if (response is Error) { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage)); } else { TempData["SuccessMessage"] = "The post has been published successfully."; return(Json(new { success = true, responseText = "Success" }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(new HttpStatusCodeResult(Utility.LogError(ex), "Internal Server Error")); } }
public ActionResult Create1(AddNewPostViewModel viewmodel) { try { var rr = Session["OrgId"].ToString(); int i = Convert.ToInt32(rr); var RegisteredUserId = Convert.ToInt32(Session["RegisteredUserId"]); var SessionId = Convert.ToInt32(Session["SessionId"]); viewmodel.Post.PostCreatorId = RegisteredUserId; viewmodel.Post.OrgId = i; viewmodel.Post.CreatorFullName = db.RegisteredUsers.Where(x => x.RegisteredUserId == RegisteredUserId).Select(x => x.FullName).FirstOrDefault(); viewmodel.Post.PostCreationDate = DateTime.Now; viewmodel.Post.Isarchived = false; // Adding / Saving the Post if (!(ModelState.IsValid) || ModelState.IsValid) { db.Posts.Add(viewmodel.Post); db.SaveChanges(); // UPON CREATING A POST - LOG THE EVENT var orgeventlog = new Org_Events_Log() { Org_Event_SubjectId = viewmodel.Post.PostId.ToString(), Org_Event_SubjectName = viewmodel.Post.PostSubject, Org_Event_TriggeredbyId = Session["RegisteredUserId"].ToString(), Org_Event_TriggeredbyName = Session["FullName"].ToString(), Org_Event_Time = DateTime.Now, OrgId = Session["OrgId"].ToString(), Org_Events_Types = Org_Events_Types.Created_Post }; db.Org_Events_Logs.Add(orgeventlog); db.SaveChanges(); var grps = viewmodel.OrgGroups.Select(x => x.OrgGroupId).ToList(); var grpstolist = new List <int>(grps); foreach (var grp in grps) { // GET VALUE OF IS-SELECTED var isselected = viewmodel.OrgGroups.Where(x => grp == x.OrgGroupId).Select(x => x.IsSelected).FirstOrDefault(); if (isselected == true) { var orgPostGrps = new OrgSchPostGrp() { OrgGroupId = grp, OrgId = i, OrgPostId = viewmodel.Post.PostId, }; db.OrgSchPostGrps.Add(orgPostGrps); db.SaveChanges(); } } } // Send Post as email if Send as Email is True if (viewmodel.Post.SendAsEmail == true) { var send = SendTestEmail(viewmodel.Post.PostContent, viewmodel.Post.PostSubject); } //selected org list var selectedgroups = viewmodel.OrgGroups.Where(x => x.IsSelected == true).Select(x => x.OrgGroupId).ToList(); var selectedgroupid = new List <int>(selectedgroups); return(RedirectToAction("Index", "Orgs", new { id = i })); } catch (Exception e) { Console.WriteLine(e); return(View(viewmodel)); } }