public ActionResult MessagePageDisplayAuto(int Jobid) { using (dbEntities db = new dbEntities()) { int user = (int)Session["loginid"]; UserMessagesVeiwModel temp = new UserMessagesVeiwModel(); temp.Inbox = new List <Messaging>(); temp.Sent = new List <Messaging>(); List <Messaging> x = db.Users.Where(o => o.Id == user).Single().Messagings.ToList(); List <Messaging> y = db.Users.Where(o => o.Id == user).Single().Messagings1.ToList(); foreach (var t in x) { temp.Inbox.Add(t); } foreach (var q in y) { temp.Sent.Add(q); } temp.Jobtitle = db.Jobs.Where(o => o.Id == Jobid).Single().Title; temp.Msg.ReceiverId = db.Jobs.Where(o => o.Id == Jobid).Single().EmployerId; temp.Msg = null; temp.ErrorLoadingPage = null; return(View("~/Views/Msg/ComposeMsgView.cshtml", temp)); } }
public ActionResult CreateMsg(UserMessagesVeiwModel model) { using (dbEntities db = new dbEntities()) { Boolean ValidEmail = false; List <User> users = db.Users.ToList(); int receiverid = -1; if (model.Employerid != null) { receiverid = (int)model.Employerid; } foreach (var u in users) { if (u.Email.Equals((string)model.Employeremail)) { ValidEmail = true; receiverid = u.Id; } } if (ModelState.IsValid && ValidEmail == true) { int senderid = (int)Session["loginid"]; int Msgid = db.Messagings.Count(); Messaging temp = new Messaging() { Id = Msgid + 1, Date = DateTime.Now, SenderId = senderid, ReceiverId = receiverid, Subject = model.Msg.Subject, JobId = model.Msg.JobId, Message = model.Msg.Message }; db.Users.Where(o => o.Id == senderid).Single().Messagings1.Add(temp); db.SaveChanges(); //make another message for the receiver of the message. must do this since the two messages must have different message ids Msgid = db.Messagings.Count(); Messaging temp2 = new Messaging() { Id = Msgid + 1, Date = DateTime.Now, SenderId = senderid, ReceiverId = receiverid, Subject = model.Msg.Subject, JobId = model.Msg.JobId, Message = model.Msg.Message }; db.Users.Where(o => o.Id == receiverid).Single().Messagings.Add(temp); db.SaveChanges(); return(RedirectToAction("MessagePageDisplayStd", "Msg")); } model.ErrorLoadingPage = "Please enter a valid email"; return(View("~/Views/Msg/MsgView.cshtml", model)); //redirect to message page with error output on page as well } }