Example #1
0
        public ActionResult DangKy(LichDangKyModels model)
        {
            if (model.NgayDangKy.Date < DateTime.Now.Date.AddDays(1))
            {
                return(RedirectToAction("DangKyThatBai"));
            }
            if (Request.IsAuthenticated)
            {
                var Ten   = ((User.Identity as System.Security.Claims.ClaimsIdentity)?.FindFirst("name")?.Value);
                var Email = ((User.Identity as System.Security.Claims.ClaimsIdentity)?.FindFirst("preferred_username")?.Value);
                if (ModelState.IsValid)
                {
                    MailHelper mailHelper = new MailHelper();
                    var        lichDangKy = new LichDangKy();
                    lichDangKy.TieuDe          = model.TieuDe;
                    lichDangKy.IDPhong         = int.Parse(model.Phong);
                    lichDangKy.ThoiGianBatDau  = model.NgayDangKy.AddHours(double.Parse(model.ThoiGianBatDau));
                    lichDangKy.ThoiGianKetThuc = model.NgayDangKy.AddHours(double.Parse(model.ThoiGianKetThuc));
                    lichDangKy.NgayDangKy      = model.NgayDangKy;
                    lichDangKy.SoDienThoai     = model.SoDienThoai;
                    lichDangKy.TinhTrang       = "Đang chờ xử lý";
                    lichDangKy.TenNguoiDangKy  = Ten;
                    lichDangKy.Email           = Email;
                    lichDangKy.ThanhPhan       = model.ThanhPhan;
                    lichDangKy.NoiDungCuocHop  = model.NoiDungCuocHop;

                    var quanLyDangKy = new QuanLyDangKy(_dangKyPhongHopRepository);
                    lichDangKy.IdLanhDao = int.Parse(model.IdLanhDao);

                    try
                    {
                        _dangKyPhongHopRepository.InsertLichDangKy(lichDangKy);
                        _dangKyPhongHopRepository.Save();

                        var mail      = _mailRepository.GetAll();
                        var fromAdmin = mail.Where(x => x.ValueOfMail == 0);

                        //Gửi mail tới người đăng ký
                        var    Phong         = _phongRepository.GetAll().Where(x => x.ID == lichDangKy.IDPhong);
                        string contentToUser = System.IO.File.ReadAllText(Server.MapPath("/Assets/Home/MailStructure/" + fromAdmin.First().TenMail));
                        contentToUser = contentToUser.Replace("{{Name}}", lichDangKy.TenNguoiDangKy);
                        contentToUser = contentToUser.Replace("{{Email}}", lichDangKy.Email);
                        contentToUser = contentToUser.Replace("{{Room}}", Phong.First().TenPhong);
                        contentToUser = contentToUser.Replace("{{ThoiGian}}", lichDangKy.ThoiGianBatDau.ToShortTimeString() + "-" + lichDangKy.ThoiGianKetThuc.ToShortTimeString());
                        contentToUser = contentToUser.Replace("{{NgayDangKy}}", lichDangKy.NgayDangKy.ToShortDateString());
                        contentToUser = contentToUser.Replace("{{TinhTrang}}", lichDangKy.TinhTrang);
                        //Extra
                        contentToUser = contentToUser.Replace("{{NoiDungCuocHop}}", lichDangKy.NoiDungCuocHop);
                        contentToUser = contentToUser.Replace("{{GhiChu}}", lichDangKy.TieuDe);
                        contentToUser = contentToUser.Replace("{{ThanhPhan}}", lichDangKy.ThanhPhan);
                        contentToUser = contentToUser.Replace("{{TinhTrang}}", lichDangKy.TinhTrang);
                        contentToUser = contentToUser.Replace("{{DonViCongTac}}", model.DonViCongTac);
                        mailHelper.SendMail(lichDangKy.Email, "NEU", contentToUser);

                        //Gửi mail tới quản trị
                        var    toAdmin        = mail.Where(x => x.ValueOfMail == 4);
                        string contentToAdmin = System.IO.File.ReadAllText(Server.MapPath("/Assets/Home/MailStructure/" + toAdmin.First().TenMail));
                        string CurrentLink    = GetConfig.GetByKey("CurrentLink");
                        string AdminEmail     = GetConfig.GetByKey("AdminEmail");
                        contentToAdmin = contentToAdmin.Replace("{{CurrentLink}}", CurrentLink.ToString());
                        mailHelper.SendMail(AdminEmail, "NEU", contentToAdmin);
                    }
                    catch (Exception ex)
                    {
                        throw;
                    }

                    TempData["LichDangKy"] = lichDangKy;
                }
                else
                {
                    ModelState.AddModelError("", "Bạn cần nhập đầy đủ thông tin");
                    return(View(model));
                }
            }
            return(RedirectToAction("DangKyThemThietBi", "DangKy"));
        }