Пример #1
0
        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);
        }
Пример #2
0
        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)));
            }
        }
Пример #5
0
        //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);
        }
Пример #6
0
        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));
            }
        }
Пример #7
0
        //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);
            }
        }
Пример #8
0
 public HomeController(VisitorManagementContext context)
 {
     _context = context;
 }
Пример #9
0
 public AccountController(VisitorManagementContext context, IHostingEnvironment hostingEnvironment)
 {
     _context            = context;
     _hostingEnvironment = hostingEnvironment;
 }
Пример #10
0
        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);
        }
Пример #11
0
        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;
            }
        }
Пример #12
0
 public DataBaseHelper(VisitorManagementContext dbcontext)
 {
     context = dbcontext;
 }
Пример #13
0
        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));
        }
Пример #14
0
        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));
        }