Ejemplo n.º 1
0
        public JsonResult CheckLogin(string uname, string pwd)
        {
            bool result = true;



            ///* CHECK USER ACCOUNT */
            var _school = from s in db.TB_APPLICATION_SCHOOL where s.SCHOOL_EMAIL == uname && s.SCHOOL_PASSWORD == pwd select s;

            if (_school == null)
            {
                result = false;
            }
            else
            {
                TB_APPLICATION        application = db.TB_APPLICATION.FirstOrDefault();
                TB_APPLICATION_SCHOOL school      = _school.FirstOrDefault();
                if (school != null)
                {
                    result = true;
                    Session["Phet10School"]   = (TB_APPLICATION_SCHOOL)school;
                    Session["TB_APPLICATION"] = application;

                    FormsAuthentication.SetAuthCookie(school.SCHOOL_NAME + "  (" + uname + ")", true);
                }
                else
                {
                    result = false;
                }
            }

            return(Json(new { Success = result, responseText = "" }));
        }
Ejemplo n.º 2
0
        public ActionResult Index()
        {
            if (Session["Phet10School"] == null)
            {
                Session["Phet10School"] = null;
                FormsAuthentication.SignOut();
            }

            if (Session["TB_APPLICATION"] == null)
            {
                Boolean isInRegisterPeriod = false;
                Boolean isAnnounceDate     = false;

                TB_APPLICATION app = db.TB_APPLICATION.FirstOrDefault();
                if (app != null)
                {
                    int startAppDate = Convert.ToInt32(Convert.ToDateTime(app.PROJECT_REGISTER_START).ToString("yyyyMMdd"));
                    int endAppDate   = Convert.ToInt32(Convert.ToDateTime(app.PROJECT_REGISTER_END).ToString("yyyyMMdd"));
                    int announceDate = Convert.ToInt32(Convert.ToDateTime(app.PROJECT_ANNOUNCE_DATE).ToString("yyyyMMdd"));
                    int curDate      = CommonUtils.getCurrentDateInt();


                    if (curDate >= startAppDate && curDate <= endAppDate)
                    {
                        isInRegisterPeriod = true;
                    }
                    if (curDate >= announceDate)
                    {
                        isAnnounceDate = true;
                    }
                }

                /*
                 * ตรวจสอบสิ้นสุดระยะเวลารับสมัคร
                 */
                Session["isInRegisterPeriod"] = isInRegisterPeriod;

                /*
                 * ตรวจสอบสามารถกดเมนู "พิมพ์เอกสารยืนยัน"
                 * ตรวจสอบสามารถกดเมนู "ประกาศเลขที่นั่งสอบ
                 * ตรวจสอบสามารถกดเมนู "ประกาศห้องสอบ
                 * ตรวจสอบสามารถกดเมนู "ประกาศผลการแข่งขัน
                 */
                Session["isAnnounceDate"] = isAnnounceDate;

                Session["PROJECT_IS_ANNOUNCE_ROUND1"] = (app.PROJECT_IS_ANNOUNCE_ROUND1 == 1)? "1":"0";
                Session["PROJECT_IS_ANNOUNCE_ROUND2"] = (app.PROJECT_IS_ANNOUNCE_ROUND2 == 1)? "1":"0";
            }

            ViewBag.PageContent = "คำนิยม";

            return(View("Index"));
        }
        public ActionResult Index([Bind(Exclude = "SCHOOL_ID")] ApplicationModel model)
        {
            //Thread.Sleep(5000);
            if (!ModelState.IsValid)
            {
                /*
                 * TITLE PROVINCE
                 */
                IList <TB_M_PROVINCE>        mProvinceLists = db.TB_M_PROVINCE.ToList <TB_M_PROVINCE>();
                IEnumerable <SelectListItem> provinceLists  =
                    from s in mProvinceLists
                    select new SelectListItem
                {
                    Text  = s.PROVINCE_NAME,
                    Value = s.PROVINCE_ID.ToString()
                };



                /*
                 * SCHOOL TYPE
                 */
                List <RadioButtonModel> list = new List <RadioButtonModel>();

                list.Add(new RadioButtonModel()
                {
                    ID = 1, Name = Resources.Application.Application.SCHOOL_TYPE_01
                });                                                                                                  //สพฐ
                list.Add(new RadioButtonModel()
                {
                    ID = 2, Name = Resources.Application.Application.SCHOOL_TYPE_02
                });                                                                                                  //เอกชน
                list.Add(new RadioButtonModel()
                {
                    ID = 3, Name = Resources.Application.Application.SCHOOL_TYPE_03
                });                                                                                                  //กทม
                list.Add(new RadioButtonModel()
                {
                    ID = 4, Name = Resources.Application.Application.SCHOOL_TYPE_04
                });                                                                                                  //อุดมศึกษา
                list.Add(new RadioButtonModel()
                {
                    ID = 5, Name = Resources.Application.Application.SCHOOL_TYPE_OTHER
                });                                                                                                     //อื่น ๆ

                SelectList schoolTypes = new SelectList(list, "ID", "Name");
                model.provinceLists = provinceLists;
                model.rSchoolTypes  = schoolTypes;
                return(View(model));
            }

            //using (ChinaPhet10Entities context = new ChinaPhet10Entities())
            //{

            //using (TransactionScope tran = new TransactionScope())
            //{
            try
            {
                //Check school duplicate
                var isExist = db.TB_APPLICATION_SCHOOL.Any(k => k.SCHOOL_EMAIL == model.school.SCHOOL_EMAIL);
                if (!isExist)
                {
                    /*
                     * SCHOOL MODEL
                     */
                    CultureInfo    ci          = (CultureInfo)this.Session["PhetCulture"];
                    TB_APPLICATION application = db.TB_APPLICATION.FirstOrDefault();


                    //VALIDATE NULL VALUE
                    model.school.SCHOOL_ADDR_PROVINCE = (model.SCHOOL_ADDR_PROVINCE == null) ? -1 : Convert.ToInt32(model.SCHOOL_ADDR_PROVINCE);
                    model.school.SCHOOL_ADDR_AMPHUR   = (model.SCHOOL_ADDR_AMPHUR == null) ? -1 : Convert.ToInt32(model.SCHOOL_ADDR_AMPHUR);
                    model.school.SCHOOL_ADDR_TOMBON   = (model.SCHOOL_ADDR_TOMBON == null) ? -1 : Convert.ToInt32(model.SCHOOL_ADDR_TOMBON);
                    model.school.SCHOOL_ZONE_EDU      = (model.school.SCHOOL_ZONE_EDU == null) ? "" : model.school.SCHOOL_ZONE_EDU;
                    model.school.SCHOOL_ZONE          = (model.school.SCHOOL_ZONE == null) ? "" : model.school.SCHOOL_ZONE;
                    model.school.SCHOOL_TYPE_OTHER    = (model.school.SCHOOL_TYPE_OTHER == null) ? "" : model.school.SCHOOL_TYPE_OTHER;
                    model.school.SCHOOL_ADDR          = (model.school.SCHOOL_ADDR == null) ? "" : model.school.SCHOOL_ADDR;
                    model.school.SCHOOL_ADDR_SOI      = (model.school.SCHOOL_ADDR_SOI == null) ? "" : model.school.SCHOOL_ADDR_SOI;
                    model.school.SCHOOL_ADDR_ROAD     = (model.school.SCHOOL_ADDR_ROAD == null) ? "" : model.school.SCHOOL_ADDR_ROAD;
                    model.school.SCHOOL_ADDR_ZIPCODE  = (model.school.SCHOOL_ADDR_ZIPCODE == null) ? "" : model.school.SCHOOL_ADDR_ZIPCODE;
                    model.school.SCHOOL_ADDR_PHONE    = (model.school.SCHOOL_ADDR_PHONE == null) ? "" : model.school.SCHOOL_ADDR_PHONE;
                    model.school.SCHOOL_ADDR_FAX      = (model.school.SCHOOL_ADDR_FAX == null) ? "" : model.school.SCHOOL_ADDR_FAX;
                    model.school.SCHOOL_NAME          = (model.school.SCHOOL_NAME == null) ? "" : model.school.SCHOOL_NAME;
                    model.school.SCHOOL_PROVINCE      = (model.school.SCHOOL_PROVINCE == null) ? -1 : model.school.SCHOOL_PROVINCE;
                    model.school.SCHOOL_PASSWORD      = (model.school.SCHOOL_PASSWORD == null) ? "" : model.school.SCHOOL_PASSWORD;
                    model.school.SCHOOL_DOC_PATH      = (model.school.SCHOOL_DOC_PATH == null) ? "" : model.school.SCHOOL_DOC_PATH;
                    model.school.SCHOOL_REGISTER_DATE = (model.school.SCHOOL_REGISTER_DATE == null) ? DateTime.Now : model.school.SCHOOL_REGISTER_DATE;

                    model.school.SCHOOL_EMAIL   = (model.school.SCHOOL_EMAIL == null) ? "" : model.school.SCHOOL_EMAIL;
                    model.school.SCHOOL_CULTURE = ci.Name;
                    model.school.SCHOOL_ROUND   = Convert.ToInt32(application.PROJECT_ROUND);



                    model.school.SCHOOL_TYPE            = (model.idSelectedSchoolType == null) ? "" : model.idSelectedSchoolType;
                    model.school.SCHOOL_APPROVED_STATUS = 1;        //Y=Approved,N=DisApproved

                    /* generate password*/
                    String generatedPassword = GeneratePassword.Generate(8);
                    model.school.SCHOOL_PASSWORD = generatedPassword;        // MD5.md5(generatedPassword);
                    db.TB_APPLICATION_SCHOOL.Add(model.school);
                    db.SaveChanges();

                    /*
                     * STAFF
                     */
                    if (model.Staffs != null)
                    {
                        foreach (TB_APPLICATION_STAFF staff in model.Staffs)
                        {
                            ////VALIDATE NULL VALUE
                            staff.STAFF_SCHOOL_ID = model.school.SCHOOL_ID;
                            staff.STAFF_POSITION  = (staff.STAFF_POSITION == null) ? 0 : staff.STAFF_POSITION;
                            staff.STAFF_NAME      = (staff.STAFF_NAME == null) ? "" : staff.STAFF_NAME;
                            staff.STAFF_SURNAME   = (staff.STAFF_SURNAME == null) ? "" : staff.STAFF_SURNAME;
                            staff.STAFF_PHONE     = (staff.STAFF_PHONE == null) ? "" : staff.STAFF_PHONE;
                            staff.STAFF_TITLE_ID  = (staff.STAFF_TITLE_ID == null) ? 0 : staff.STAFF_TITLE_ID;
                            staff.STAFF_FOR_LEVEL = (staff.STAFF_FOR_LEVEL == null) ? 0 : staff.STAFF_FOR_LEVEL;

                            if (!String.IsNullOrEmpty(staff.STAFF_NAME) && !String.IsNullOrEmpty(staff.STAFF_SURNAME))
                            {
                                staff.STAFF_SCHOOL_ID = model.school.SCHOOL_ID;
                                db.TB_APPLICATION_STAFF.Add(staff);
                            }
                        }
                    }

                    /*
                     * STUDENT
                     */
                    if (model.Students != null)
                    {
                        foreach (TB_APPLICATION_STUDENT student in model.Students)
                        {
                            //VALIDATE NULL VALUE
                            student.STD_TITLE_ID        = (student.STD_TITLE_ID == null) ? 0 : student.STD_TITLE_ID;
                            student.STD_NAME            = (student.STD_NAME == null) ? "" : student.STD_NAME;
                            student.STD_SURNAME         = (student.STD_SURNAME == null) ? "" : student.STD_SURNAME;
                            student.STD_LEVEL_ID        = (student.STD_LEVEL_ID == null) ? 0 : student.STD_LEVEL_ID;
                            student.STD_SCHOOL_ID       = model.school.SCHOOL_ID;
                            student.STD_PICTURE_PATH    = (student.STD_PICTURE_PATH == null) ? "" : student.STD_PICTURE_PATH;
                            student.STD_PHONE           = (student.STD_PHONE == null) ? "" : student.STD_PHONE;
                            student.STD_EMAIL           = (student.STD_EMAIL == null) ? "" : student.STD_EMAIL;
                            student.STD_ID_CARD         = (student.STD_ID_CARD == null) ? "" : student.STD_ID_CARD;
                            student.STD_PASSPORT_ID     = (student.STD_PASSPORT_ID == null) ? "" : student.STD_PASSPORT_ID;
                            student.STD_GRADE           = (student.STD_GRADE == null) ? 0 : student.STD_GRADE;
                            student.STD_PHONE_PROVIDER  = (student.STD_PHONE_PROVIDER == null) ? "" : student.STD_PHONE_PROVIDER;
                            student.STD_APPROVED_STATUS = 1;
                            student.STD_IS_CONCERN      = "0";
                            student.STD_NATION          = student.STD_NATION;
                            student.STD_NATION_OTHER    = student.STD_NATION_OTHER;

                            #region "CONCERN STUDENT."
                            bool isValidLevel = false;
                            int  currentYear  = DateTime.Now.Year;
                            if (!String.IsNullOrEmpty(student.STD_BIRTH_DAY))
                            {
                                currentYear = currentYear - Convert.ToInt16(student.STD_BIRTH_DAY.Split('-')[0]);
                            }

                            if (currentYear <= 9)
                            {
                                if (student.STD_LEVEL_ID == 1)
                                {
                                    isValidLevel = true;;
                                }
                            }
                            else if (currentYear >= 10 && currentYear <= 12)
                            {
                                if (student.STD_LEVEL_ID == 2)
                                {
                                    isValidLevel = true;
                                }
                            }
                            else if (currentYear >= 13 && currentYear <= 15)
                            {
                                if (student.STD_LEVEL_ID == 3)
                                {
                                    isValidLevel = true;
                                }
                            }
                            else if (currentYear >= 16 && currentYear <= 18)
                            {
                                if (student.STD_LEVEL_ID == 4)
                                {
                                    isValidLevel = true;
                                }
                            }
                            else
                            {
                                if (student.STD_LEVEL_ID == 5)
                                {
                                    isValidLevel = true;
                                }
                            }
                            if (isValidLevel == false)
                            {
                                student.STD_IS_CONCERN = "1";
                            }
                            #endregion

                            if (!String.IsNullOrEmpty(student.STD_NAME) && !String.IsNullOrEmpty(student.STD_SURNAME))
                            {
                                db.TB_APPLICATION_STUDENT.Add(student);
                            }
                        }
                    }

                    db.SaveChanges();
                    //tran.Complete();

                    /* send email school account to user*/
                    if (!String.IsNullOrEmpty(model.school.SCHOOL_EMAIL))
                    {
                        if (Email.IsValidEmail(model.school.SCHOOL_EMAIL))
                        {
                            Email.SendEmail(model.school, generatedPassword, ci.Name);
                        }
                        else
                        {
                            logger.Debug(model.school.SCHOOL_ID + "," + model.school.SCHOOL_NAME + "invalid email format.");
                        }
                    }
                    else
                    {
                        logger.Debug(model.school.SCHOOL_ID + "," + model.school.SCHOOL_NAME + "no have email.");
                    }
                }
                else
                {
                    return(View("Exception"));
                }
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        errorMessage += string.Format("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage) + Environment.NewLine;
                    }
                }
                throw new Exception(errorMessage, dbEx);
            }
            //}
            //}
            ViewBag.UserName    = model.school.SCHOOL_EMAIL;
            ViewBag.Password    = model.school.SCHOOL_PASSWORD;
            ViewBag.PageContent = Resources.Application.Application.REGISTER_ITEM016;
            return(View("Complete"));
        }