Beispiel #1
0
        public ActionResult InsertNewAccount()
        {
            DateTime dt = DateTime.Now;

            try
            {
                ANYID_DATA_ITMX item = new ANYID_DATA_ITMX();
                item.PROXY_TYPE       = Request.Form["ITMXProxyType"];
                item.PROXY_VALUE      = (item.PROXY_TYPE == "MSISDN") ? "+66" + Request.Form["ITMXProxyValue"].Substring(1, Request.Form["ITMXProxyValue"].Length - 1) : Request.Form["ITMXProxyValue"];
                item.ACCOUNT_TYPE     = "DUMMY";
                item.ACCOUNT_NUMBER   = Request.Form["AccountNumber"]; // Bank Code + เลขบัญชี Dummy
                item.ACCOUNT_NAME     = Request.Form["ITMXAcctName"];
                item.DISPLAY_NAME     = Request.Form["ITMXDisplayName"];
                item.PERSON_FIRSTNAME = Request.Form["ITMXFirstName"];
                item.PERSON_LASTNAME  = Request.Form["ITMXSecondName"];
                item.PERSON_LASTNAME  = Request.Form["ITMXLastName"];
                item.BUSINESS_NAME    = Request.Form["ITMXBusinessName"];
                if (Request.Form["ITMXBusinessRegisterDate"] != "")
                {
                    item.BUSINESS_REGISTERED_DATE = DateTime.ParseExact(Convert.ToString(Request.Form["ITMXBusinessRegisterDate"]), "dd-MM-yyyy", CultureInfo.InvariantCulture);
                }

                item.CREATED_DATE = dt;
                item.CREATED_USER = Convert.ToString(Session["UserID"]);  /* ดึงจาก Session*/

                item.REGISTRATION_STATUS = "Active";

                using (OracleContext db = new OracleContext())
                {
                    var QueryHaveDataInAnyID = from st in db.ANYID_DATA_ITMX
                                               where st.PROXY_TYPE == item.PROXY_TYPE && st.PROXY_VALUE == item.PROXY_VALUE
                                               select st;
                    int CountHaveDataInAnyID = QueryHaveDataInAnyID.Count();

                    var QueryRegis3Mobile = from m in db.ANYID_DATA_ITMX
                                            where m.ACCOUNT_NUMBER == item.ACCOUNT_NUMBER && m.PROXY_TYPE == "MSISDN"
                                            select m;
                    int CountRegis3Mobile = QueryRegis3Mobile.Count();

                    if (CountHaveDataInAnyID == 0 && CountRegis3Mobile < 3)
                    {
                        db.AddToANYID_DATA_ITMX(item);
                        db.SaveChanges();

                        /**** Log *****/
                        RegisterModel.LogsInsert(dt, null, item);
                        /**** !Log *****/

                        TempData["Notify"]  = Constants.NotifyTrue.ToString();
                        TempData["Class"]   = Constants.ClassSuccess.ToString();
                        TempData["Message"] = Constants.MsgSaveSuccess.ToString();
                    }
                    else
                    {
                        TempData["Notify"]  = Constants.NotifyTrue.ToString();
                        TempData["Class"]   = Constants.ClassError.ToString();
                        TempData["Message"] = (CountRegis3Mobile >= 3) ? Convert.ToString(Constants.MsgMoreLimit) : Convert.ToString(Constants.MsgHaveData);
                    }
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception e)
            {
                TempData["Notify"]  = Constants.NotifyTrue.ToString();
                TempData["Class"]   = Constants.ClassError.ToString();
                TempData["Message"] = Constants.MsgError.ToString();
                log.Error(CommonHelper.ErrMsg(e));
                return(RedirectToAction("Index"));
            }
        }