public VisitViewModel CreateGet() { context = new VisitorManagementContext(); VisitViewModel visitViewModel = new VisitViewModel(); VisitDetail visitDetail = new VisitDetail(); var result = context.Arrangement.ToList(); Common <Arrangement, ArrangementViewModel> common = new Common <Arrangement, ArrangementViewModel>(); var resultViewModel = common.List_Source_Target(result); VisitArrangement visitArrangement = new VisitArrangement(); visitArrangement.VisitDetailId = visitDetail.VisitDetailId; visitViewModel.VisitArrangement = resultViewModel; var participants = context.VisitParticipant.ToList(); Common <VisitParticipant, ParticipantViewModel> commonParticipants = new Common <VisitParticipant, ParticipantViewModel>(); var participantViewModel = commonParticipants.List_Source_Target(participants); // visitViewModel.VisitParticipant = participantViewModel; var user = context.User.ToList(); Common <User, UserViewModel> commonUser = new Common <User, UserViewModel>(); visitViewModel.Users = commonUser.List_Source_Target(user); return(visitViewModel); }
public IActionResult Login(LoginViewModel model) { DataBaseHelper dataBaseHelper = new DataBaseHelper(_context); if (ModelState.IsValid) { _context = new VisitorManagementContext(); var userdetails = _context.User .LastOrDefault(m => m.UserLogin == model.UserLogin); string decryptpassword = userdetails.Password; userdetails.Password = DecodeFrom64(decryptpassword); HttpContext.Session.SetString("UserID", userdetails.UserID.ToString()); HttpContext.Session.SetString("IsAdmin", userdetails.IsAdmin.ToString()); HttpContext.Session.SetString("UserName", userdetails.FirstName.ToString()); if (userdetails.Password == model.Password) { return(RedirectToAction("Dashboard", "Home")); } else if (userdetails.Password != model.Password) { ModelState.AddModelError("Password", "Invalid Username or Password..!!"); return(View("Login")); } } else { return(View("Login")); } return(View("Login")); }
public ActionResult Delete(int id) { try { var viewModel = repository.EditGet(id); var res = repository.DeleteVisitor(id); //mail notification TimeSpan ts = viewModel.EndTime - viewModel.StartTime; eAppointment appointment = new eAppointment(); appointment.Subject = "Visit Cancel Notification"; appointment.Body = "Your visit which has been scheduled on " + viewModel.visitDetails.StartTime.ToShortDateString() + " from " + viewModel.visitDetails.StartTime.ToShortTimeString() + " to " + viewModel.visitDetails.EndTime.ToShortTimeString() + " has been cancelled."; appointment.Location = "Canarys Automation"; appointment.Duration = Convert.ToInt32(ts.TotalMinutes); DateTime dt = viewModel.VisitingDate; TimeSpan timeSpan = new TimeSpan(viewModel.StartTime.Hour, viewModel.StartTime.Minute, viewModel.StartTime.Second); viewModel.VisitingDate = viewModel.VisitingDate.Add(timeSpan); appointment.Start = Convert.ToDateTime(viewModel.VisitingDate); _context = new VisitorManagementContext(); List <string> EmailIDs = new List <string>(); if (viewModel.PrimaryParticipant != 0) { string mailid = _context.User.Where(r => r.UserID == viewModel.PrimaryParticipant).FirstOrDefault().EmailAddress; EmailIDs.Add(mailid); } if (viewModel.SecondaryParticipant != null && viewModel.SecondaryParticipant.Count > 0) { for (int i = 0; viewModel.SecondaryParticipant.Count > i; i++) { string EmailAddres = _context.User.Where(r => r.UserID == viewModel.SecondaryParticipant[i]).FirstOrDefault().EmailAddress; EmailIDs.Add(EmailAddres); } } if (viewModel.VisitArrangement != null && viewModel.VisitArrangement.Where(r => r.IsSelected == true).Count() > 0) { for (int i = 0; viewModel.VisitArrangement.Where(r => r.IsSelected == true).Count() > i; i++) { string mailid = _context.User.Where(r => r.UserID == viewModel.VisitArrangement.Where(l => l.IsSelected == true).ElementAt(i).DelegateContactID).FirstOrDefault().EmailAddress; EmailIDs.Add(mailid); } } EmailIDs.Add(viewModel.visit.EmailAddress); appointment.Email = EmailIDs.ToArray(); appointment.MeetingStatus = Microsoft.Office.Interop.Outlook.OlMeetingStatus.olMeeting; outLookEvents.OutLookEvent(appointment, true); return(Json(res)); } catch (System.Exception) { //throw ex; return(Json(false)); } }
//public IActionResult Index() //{ // _context = new VisitorManagementContext(); // HttpContext.Session.GetString("UserID"); // int userid = int.Parse(HttpContext.Session.GetString("UserID")); // var isAdmin = _context.User // .SingleOrDefault(m => m.UserID == userid).IsAdmin; // if (isAdmin == true) // { // return View(repository.GetVisits().Where(x => x.IsDeleted == false).OrderByDescending(r => r.VisitDetailId)); // } // else // { // int userid1 = int.Parse(HttpContext.Session.GetString("UserID")); // DataBaseHelper dataBaseHelper = new DataBaseHelper(_context); // var rs = dataBaseHelper.UserVisits(userid1).OrderByDescending(r => r.VisitDetailId); // return View(rs.Where(x => x.IsDeleted == false)); // } //} public IActionResult Index(bool?isDeleted = false) { _context = new VisitorManagementContext(); HttpContext.Session.GetString("UserID"); int userid = int.Parse(HttpContext.Session.GetString("UserID")); var isAdmin = _context.User .SingleOrDefault(m => m.UserID == userid).IsAdmin; if (isDeleted == true) { if (isAdmin == true) { var vistors = repository.GetVisits(); if (isDeleted == true) { return(View(vistors.Where(x => x.IsDeleted == true))); } else { return(View(vistors.Where(x => x.IsDeleted == false).ToList())); } } else { HttpContext.Session.GetString("UserID"); int userid1 = int.Parse(HttpContext.Session.GetString("UserID")); DataBaseHelper dataBaseHelper = new DataBaseHelper(_context); var rs = dataBaseHelper.UserVisits(userid1).OrderByDescending(r => r.VisitDetailId); if (isDeleted == false) { return(View(rs.ToList())); } else { return(View(rs.Where(x => x.IsDeleted == false).ToList())); } } } if (isAdmin == true) { return(View(repository.GetVisits().Where(x => x.IsDeleted == false).OrderByDescending(r => r.VisitDetailId))); } else { int userid1 = int.Parse(HttpContext.Session.GetString("UserID")); DataBaseHelper dataBaseHelper = new DataBaseHelper(_context); var rs = dataBaseHelper.UserVisits(userid1).OrderByDescending(r => r.VisitDetailId); return(View(rs.Where(x => x.IsDeleted == false))); } }
//Gets all the Visit List for Admin public List <ListVisitModel> GetVisits() { context = new VisitorManagementContext(); var list = context.VisitDetail.ToList(); List <ListVisitModel> listVisitModel = new List <ListVisitModel>(); foreach (var item in list) { ListVisitModel visit = new ListVisitModel(); visit.VisitorId = item.VisitorId; var Visit = context.Visitor.FirstOrDefault(x => x.VisitorId == item.VisitorId); visit.VisitorName = Visit.VisitorName; visit.Company = Visit.Company; visit.Designation = Visit.Designation; visit.EmailAddress = Visit.EmailAddress; visit.StartTime = item.StartTime; visit.EndTime = item.EndTime; visit.IsDeleted = item.IsDeleted; visit.PhotoUrl = ImageReader(Visit.PhotoUrl); visit.VisitDetailId = item.VisitDetailId; visit.ActualTimeIn = item.ActualTimeIn; visit.ActualTimeOut = item.ActualTimeOut; if (context.VisitParticipant.Where(r => r.VisitDetailId == item.VisitDetailId && r.IsPrimary == true).Count() > 0) { int contactPersonId = context.VisitParticipant.Where(r => r.VisitDetailId == item.VisitDetailId && r.IsPrimary == true).FirstOrDefault().ParticipantId; visit.ContactPerson = context.User.Where(r => r.UserID == contactPersonId).FirstOrDefault().FirstName; } visit.IsOwner = true; listVisitModel.Add(visit); } return(listVisitModel); }
public ActionResult Delete(int id) { try { _context = new VisitorManagementContext(); var deletedUser = _context.User.FirstOrDefault(x => x.UserID == id); if (deletedUser != null) { deletedUser.IsDeleted = true; _context.SaveChanges(); } return(Json(deletedUser)); } catch (Exception) { //throw ex; return(Json(false)); } }
//Delete public bool DeleteVisitor(int visitDetailId) { context = new VisitorManagementContext(); try { //visitDetail = context.VisitDetail.Find(visitDetailId); //if (visitDetail != null) //{ // visitDetail.IsDeleted = true; // context.VisitDetail.Update(visitDetail); // context.SaveChanges(); context = new VisitorManagementContext(); var vd = context.VisitDetail.FirstOrDefault(x => x.VisitDetailId == visitDetailId); if (vd != null) { vd.IsDeleted = true; context.SaveChanges(); } return(true); } catch (Exception ex) { return(false); } }
public HomeController(VisitorManagementContext context) { _context = context; }
public AccountController(VisitorManagementContext context, IHostingEnvironment hostingEnvironment) { _context = context; _hostingEnvironment = hostingEnvironment; }
public HashSet <ListVisitModel> UserVisits(int uID) { context = new VisitorManagementContext(); HashSet <ListVisitModel> listVisitModel = new HashSet <ListVisitModel>(); var participentsRes = context.VisitParticipant.Where(x => x.ParticipantId == uID).ToList(); var res = context.VisitDetail.Where(x => x.CreatedBy == uID).ToList(); foreach (var item1 in res) { if (item1.CreatedBy == uID) { if (participentsRes.Where(r => r.VisitDetailId == item1.VisitDetailId).Count() > 0) { var list = participentsRes.Where(r => r.VisitDetailId == item1.VisitDetailId).ToList(); foreach (VisitParticipant visitParticipant in list) { participentsRes.Remove(visitParticipant); } } ListVisitModel visit = new ListVisitModel(); visit.VisitDetailId = item1.VisitDetailId; visit.VisitorId = item1.VisitorId; var Visit = context.Visitor.FirstOrDefault(x => x.VisitorId == item1.VisitorId); visit.VisitorName = Visit.VisitorName; visit.Company = Visit.Company; visit.Designation = Visit.Designation; visit.EmailAddress = Visit.EmailAddress; visit.StartTime = item1.StartTime; visit.EndTime = item1.EndTime; visit.IsDeleted = item1.IsDeleted; visit.PhotoUrl = ImageReader(Visit.PhotoUrl); visit.VisitDetailId = item1.VisitDetailId; visit.ActualTimeIn = item1.ActualTimeIn; visit.ActualTimeOut = item1.ActualTimeOut; visit.IsOwner = true; if (context.VisitParticipant.Where(r => r.VisitDetailId == item1.VisitDetailId && r.IsPrimary == true).Count() > 0) { int contactPersonId = context.VisitParticipant.Where(r => r.VisitDetailId == item1.VisitDetailId && r.IsPrimary == true).FirstOrDefault().ParticipantId; visit.ContactPerson = context.User.Where(r => r.UserID == contactPersonId).FirstOrDefault().FirstName; } listVisitModel.Add(visit); } } foreach (var item in participentsRes) { ListVisitModel visit1 = new ListVisitModel(); visit1.VisitDetailId = item.VisitDetailId; var visitDetail = context.VisitDetail.FirstOrDefault(x => x.VisitDetailId == item.VisitDetailId); visit1.VisitorId = visitDetail.VisitorId; var Visit = context.Visitor.FirstOrDefault(x => x.VisitorId == visitDetail.VisitorId); visit1.VisitorName = Visit.VisitorName; visit1.Company = Visit.Company; visit1.Designation = Visit.Designation; visit1.EmailAddress = Visit.EmailAddress; visit1.StartTime = visitDetail.StartTime; visit1.EndTime = visitDetail.EndTime; visit1.PhotoUrl = ImageReader(Visit.PhotoUrl); visit1.VisitDetailId = item.VisitDetailId; visit1.ActualTimeIn = visitDetail.ActualTimeIn; if (context.VisitParticipant.Where(r => r.VisitDetailId == item.VisitDetailId && r.IsPrimary == true).Count() > 0) { int contactPersonId = context.VisitParticipant.Where(r => r.VisitDetailId == item.VisitDetailId && r.IsPrimary == true).FirstOrDefault().ParticipantId; visit1.ContactPerson = context.User.Where(r => r.UserID == contactPersonId).FirstOrDefault().FirstName; } visit1.IsOwner = false; listVisitModel.Add(visit1); } return(listVisitModel); }
public VisitViewModel AddVisitor(VisitViewModel vmodel) { context = new VisitorManagementContext(); try { Visitor visitor = new Visitor(); var existingvisitor = context.Visitor.Where(r => r.VisitorName.ToUpper() == vmodel.VisitorName.ToUpper() && r.Designation.ToUpper() == vmodel.Designation.ToUpper() && r.Company.ToUpper() == vmodel.Company.ToUpper() && r.EmailAddress.ToUpper() == vmodel.EmailAddress.ToUpper() && r.Phone.ToUpper() == vmodel.Phone.ToUpper()); if (existingvisitor.Count() > 0) { visitor.VisitorId = existingvisitor.LastOrDefault().VisitorId; } else { visitor.VisitorName = vmodel.VisitorName; visitor.Designation = vmodel.Designation; visitor.Company = vmodel.Company; visitor.EmailAddress = vmodel.EmailAddress; visitor.Phone = vmodel.Phone; visitor.CreatedBy = vmodel.CreatedBy; context.Visitor.Add(visitor); context.SaveChanges(); } VisitDetail visitDetail = new VisitDetail(); visitDetail.VisitorId = visitor.VisitorId; DateTime visitDate = vmodel.VisitingDate; DateTime startTime = vmodel.StartTime; DateTime endTime = vmodel.EndTime; visitDetail.StartTime = visitDate.Date.Add(startTime.TimeOfDay); visitDetail.EndTime = visitDate.Date.Add(endTime.TimeOfDay); visitDetail.CreatedBy = vmodel.CreatedBy; context.VisitDetail.Add(visitDetail); context.SaveChanges(); VisitParticipant participant = new VisitParticipant(); participant.VisitDetailId = visitDetail.VisitDetailId; participant.ParticipantId = vmodel.PrimaryParticipant; participant.IsPrimary = true; context.VisitParticipant.Add(participant); context.SaveChanges(); if (vmodel.SecondaryParticipant != null) { foreach (var item in vmodel.SecondaryParticipant) { participant = new VisitParticipant(); participant.VisitDetailId = visitDetail.VisitDetailId; participant.ParticipantId = item; participant.IsPrimary = false; context.VisitParticipant.Add(participant); } context.SaveChanges(); } // foreach (var item in vmodel.VisitArrangement.Where(r => r.IsSelected == true)) { VisitArrangement visitArrangement = new VisitArrangement(); visitArrangement.ArrangementId = item.ArrangementId; visitArrangement.VisitDetailId = visitDetail.VisitDetailId; visitArrangement.DelegateContactId = item.DelegateContactID; visitArrangement.Description = item.Description; context.VisitArrangement.Add(visitArrangement); } context.SaveChanges(); return(vmodel); } catch (Exception ex) { throw ex; } }
public DataBaseHelper(VisitorManagementContext dbcontext) { context = dbcontext; }
public IActionResult Edit(int id, [Bind] VisitViewModel editedVisitor, string SecondaryValues, int PrimaryValues) { try { if (ModelState.IsValid) { if (SecondaryValues != null) { string[] array = SecondaryValues.Split(","); editedVisitor.SecondaryParticipant = new List <int>(); for (int i = 0; array.Length > i; i++) { editedVisitor.SecondaryParticipant.Add(Convert.ToInt32(array[i])); } } //if (PrimaryValues != 0) //{ // editedVisitor.PrimaryParticipant = PrimaryValues; //} var previousresult = repository.EditGet(id); _context = new VisitorManagementContext(); string filepath = Path.Combine(Directory.GetCurrentDirectory(), "EmailTemplates", "EmailTemplate.html"); string template = System.IO.File.ReadAllText(filepath); string Bodymsg = string.Empty; template = template.Replace("#USERNAME#", " All"); template = template.Replace("#LINKTOREPLACE#", ""); template = template.Replace("#LINKADDRESS#", ""); template = template.Replace("#LINKTEXT#", ""); template = template.Replace("#CREATEDUSERNAME#", HttpContext.Session.GetString("UserName")); string body = template; body = template; if (previousresult.visit.VisitorName != editedVisitor.VisitorName) { Bodymsg += "Visitor Name has been Changed from " + previousresult.visit.VisitorName + " to " + editedVisitor.VisitorName + " .<br/>"; Console.WriteLine(); } if (previousresult.visit.EmailAddress != editedVisitor.EmailAddress) { Bodymsg += "Visitor EmailAddress has been Changed from " + previousresult.visit.EmailAddress + " to " + editedVisitor.EmailAddress + " .<br/>"; Console.WriteLine(); } if (previousresult.visit.Company != editedVisitor.Company) { Bodymsg += "Visitor Company has been Changed from " + previousresult.visit.Company + " to " + editedVisitor.Company + " .<br/>"; Console.WriteLine(); } if (previousresult.visit.Designation != editedVisitor.Designation) { Bodymsg += "Visitor Designation has been Changed from " + previousresult.visit.Designation + " to " + editedVisitor.Designation + " .<br/>"; Console.WriteLine(); } if (previousresult.visit.Phone != editedVisitor.Phone) { Bodymsg += "Visitor Phone number has been Changed from " + previousresult.visit.Phone + " to " + editedVisitor.Phone + " .<br/>"; Console.WriteLine(); } if (previousresult.visitDetails.StartTime.ToShortDateString() != editedVisitor.VisitingDate.ToShortDateString()) { Bodymsg += "Visit Date has been Changed from " + previousresult.visitDetails.StartTime.ToShortDateString() + " to " + editedVisitor.VisitingDate.ToShortDateString() + " .<br/>"; Console.WriteLine(); } if (previousresult.visitDetails.StartTime.ToShortTimeString() != editedVisitor.StartTime.ToShortTimeString()) { Bodymsg += "Visit Start Time has been Changed from " + previousresult.visitDetails.StartTime.ToShortTimeString() + " to " + editedVisitor.StartTime.ToShortTimeString() + " .<br/>"; Console.WriteLine(); } if (previousresult.visitDetails.EndTime.ToShortTimeString() != editedVisitor.EndTime.ToShortTimeString()) { Bodymsg += "Visit End Time has been Changed from " + previousresult.visitDetails.EndTime.ToShortTimeString() + " to " + editedVisitor.EndTime.ToShortTimeString() + " .<br/>"; Console.WriteLine(); } for (int i = 0; editedVisitor.VisitArrangement.Count > i; i++) { if (previousresult.VisitArrangement.Where(x => x.ArrangementId == editedVisitor.VisitArrangement[i].ArrangementId).Count() > 0) { var oldvalue = previousresult.VisitArrangement.Where(x => x.ArrangementId == editedVisitor.VisitArrangement[i].ArrangementId).FirstOrDefault(); var newvalue = editedVisitor.VisitArrangement[i]; if (oldvalue.Description != newvalue.Description) { Bodymsg += oldvalue.Name + " Arrangements has been Changed from " + oldvalue.Description + " to " + newvalue.Description + " .<br/>"; } if (oldvalue.DelegateContactID != newvalue.DelegateContactID) { var delegatecontact = _context.User.Where(r => r.UserID == newvalue.DelegateContactID).FirstOrDefault().FirstName; var olddelegatecontact = _context.User.Where(r => r.UserID == oldvalue.DelegateContactID).FirstOrDefault().FirstName; Bodymsg += " Delegate Contact has been changed form " + olddelegatecontact + " to " + delegatecontact + " .<br/>"; } } } body = body.Replace("#BODY#", Bodymsg); repository.UpdateVisitor(editedVisitor); TimeSpan ts = editedVisitor.EndTime - editedVisitor.StartTime; eAppointment appointment = new eAppointment(); appointment.Subject = "Visit Changes Notification"; appointment.Body = body; appointment.Location = "Canarys Automation"; appointment.Duration = Convert.ToInt32(ts.TotalMinutes); DateTime dt = editedVisitor.VisitingDate; TimeSpan timeSpan = new TimeSpan(editedVisitor.StartTime.Hour, editedVisitor.StartTime.Minute, editedVisitor.StartTime.Second); editedVisitor.VisitingDate = editedVisitor.VisitingDate.Add(timeSpan); appointment.Start = Convert.ToDateTime(editedVisitor.VisitingDate); _context = new VisitorManagementContext(); List <string> EmailIDs = new List <string>(); if (editedVisitor.PrimaryParticipant != 0) { string mailid = _context.User.Where(r => r.UserID == editedVisitor.PrimaryParticipant).FirstOrDefault().EmailAddress; EmailIDs.Add(mailid); } if (editedVisitor.SecondaryParticipant != null && editedVisitor.SecondaryParticipant.Count > 0) { for (int i = 0; editedVisitor.SecondaryParticipant.Count > i; i++) { string EmailAddres = _context.User.Where(r => r.UserID == editedVisitor.SecondaryParticipant[i]).FirstOrDefault().EmailAddress; EmailIDs.Add(EmailAddres); } } if (editedVisitor.VisitArrangement != null && editedVisitor.VisitArrangement.Where(r => r.IsSelected == true).Count() > 0) { for (int i = 0; editedVisitor.VisitArrangement.Where(r => r.IsSelected == true).Count() > i; i++) { string mailid = _context.User.Where(r => r.UserID == editedVisitor.VisitArrangement.Where(l => l.IsSelected == true).ElementAt(i).DelegateContactID).FirstOrDefault().EmailAddress; EmailIDs.Add(mailid); } } EmailIDs.Add(editedVisitor.EmailAddress); appointment.Body = body; appointment.Email = EmailIDs.ToArray(); appointment.MeetingStatus = OlMeetingStatus.olMeeting; outLookEvents.SMTPEvent(appointment); return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "Unable to update changes. " + "Try again, and if the problem persists, " + "see your system administrator."); } } catch (DbUpdateException) { } return(View(editedVisitor)); }
public IActionResult Create(VisitViewModel viewModel, string SecondaryValues, int PrimaryValues) { try { if (ModelState.IsValid) { viewModel.CreatedBy = int.Parse(HttpContext.Session.GetString("UserID")); if (!string.IsNullOrEmpty(SecondaryValues)) { string[] array = SecondaryValues.Split(","); viewModel.SecondaryParticipant = new List <int>(); for (int i = 0; array.Length > i; i++) { viewModel.SecondaryParticipant.Add(Convert.ToInt32(array[i])); } } if (PrimaryValues != 0) { viewModel.PrimaryParticipant = PrimaryValues; } repository.AddVisitor(viewModel); string filepath = Path.Combine(Directory.GetCurrentDirectory(), "EmailTemplates", "EmailTemplate.html"); string template = System.IO.File.ReadAllText(filepath); template = template.Replace("#USERNAME#", " All"); template = template.Replace("#LINKTOREPLACE#", ""); template = template.Replace("#LINKADDRESS#", ""); template = template.Replace("#LINKTEXT#", ""); template = template.Replace("#CREATEDUSERNAME#", HttpContext.Session.GetString("UserName")); string body = template; body = body.Replace("#BODY#", "A Visit has been created on " + viewModel.VisitingDate.ToShortDateString() + " from " + viewModel.StartTime.ToShortTimeString() + " to " + viewModel.EndTime.ToShortTimeString() + ". Please be available."); TimeSpan ts = viewModel.EndTime - viewModel.StartTime; eAppointment appointment = new eAppointment(); appointment.Subject = "Visit Create Notification"; appointment.Body = body; appointment.Location = "Canarys Automation"; appointment.Duration = Convert.ToInt32(ts.TotalMinutes); DateTime dt = viewModel.VisitingDate; TimeSpan timeSpan = new TimeSpan(viewModel.StartTime.Hour, viewModel.StartTime.Minute, viewModel.StartTime.Second); viewModel.VisitingDate = viewModel.VisitingDate.Add(timeSpan); appointment.Start = Convert.ToDateTime(viewModel.VisitingDate); _context = new VisitorManagementContext(); List <string> EmailIDs = new List <string>(); if (viewModel.PrimaryParticipant != 0) { string mailid = _context.User.Where(r => r.UserID == viewModel.PrimaryParticipant).FirstOrDefault().EmailAddress; EmailIDs.Add(mailid); } if (viewModel.SecondaryParticipant != null && viewModel.SecondaryParticipant.Count > 0) { for (int i = 0; viewModel.SecondaryParticipant.Count > i; i++) { string EmailAddres = _context.User.Where(r => r.UserID == viewModel.SecondaryParticipant[i]).FirstOrDefault().EmailAddress; EmailIDs.Add(EmailAddres); } } EmailIDs.Add(viewModel.EmailAddress); appointment.Body = body; appointment.Email = EmailIDs.ToArray(); outLookEvents.SMTPEvent(appointment); EmailIDs = new List <string>(); if (viewModel.VisitArrangement != null && viewModel.VisitArrangement.Where(r => r.IsSelected == true).Count() > 0) { StringBuilder builder = new StringBuilder(); for (int i = 0; viewModel.VisitArrangement.Where(r => r.IsSelected == true).Count() > i; i++) { var arrangment = viewModel.VisitArrangement.Where(r => r.IsSelected == true).ElementAt(i); string arrangmentname = _context.Arrangement.Where(r => r.ArrangementId == arrangment.ArrangementId).FirstOrDefault().Name; var delegatecontact = _context.User.Where(r => r.UserID == viewModel.VisitArrangement.Where(l => l.IsSelected == true).ElementAt(i).DelegateContactID).FirstOrDefault(); EmailIDs.Add(delegatecontact.EmailAddress); builder.AppendLine(arrangmentname + " Arrangements " + " for these description " + arrangment.Description + " by " + delegatecontact.FirstName); } body = template; body = body.Replace("#BODY#", "A Visit has been created on " + viewModel.VisitingDate.ToShortDateString() + " from " + viewModel.StartTime.ToShortTimeString() + " to " + viewModel.EndTime.ToShortTimeString() + ". Please be available. <br /> Please Arrange the below items <br /> " + builder.ToString()); appointment.Body = body; appointment.Email = EmailIDs.ToArray(); appointment.MeetingStatus = OlMeetingStatus.olMeeting; outLookEvents.SMTPEvent(appointment); } return(RedirectToAction("Index")); } else { ModelState.AddModelError("", "Unable to save changes. " + "Try again, and if the problem persists " + "see your system administrator."); } } catch (DbUpdateException ex) { throw ex; } return(View(viewModel)); }