示例#1
0
        public ActionResult Add(SERVICEChannelObj model, string m)
        {
            try
            {
                menuId         = SmartUtil.GetMenuId(m);
                ViewBag.MenuId = HttpUtility.UrlDecode(m);

                var errorMsg = "";
                if (ModelState.IsValid)
                {
                    if (model.ITBID == 0)
                    {
                        ViewBag.HeaderTitle   = "Add ServiceChannel";
                        ViewBag.StatusVisible = false;
                        ViewBag.ButtonText    = "Save";
                    }
                    else
                    {
                        //var d = _repo.GetSession(0, true);
                        ViewBag.HeaderTitle   = "Edit ServiceChannel";
                        ViewBag.StatusVisible = true;
                        ViewBag.ButtonText    = "Update";
                    }
                    if (model.ITBID > 0)
                    {
                        //using (var txscope = new TransactionScope(TransactionScopeOption.RequiresNew))
                        //{
                        var BType = new SM_SERVICECHANNELSTEMP()
                        {
                            CODE        = model.CODE,
                            DESCRIPTION = model.DESCRIPTION,
                            ChannelID   = model.ChannelID,
                            BankCode    = model.BankCode,
                            BankAccount = model.BankAccount,
                            STATUS      = open,
                            RECORDID    = model.ITBID,
                            USERID      = User.Identity.Name,
                            CREATEDATE  = DateTime.Now
                        };
                        repoServiceChannelTemp.Insert(BType);
                        if (uow.Save(User.Identity.Name) > 0)
                        {
                            SM_AUTHLIST auth = new SM_AUTHLIST()
                            {
                                CREATEDATE = DateTime.Now,
                                EVENTTYPE  = model.STATUS == active ? eventEdit : model.STATUS,
                                MENUID     = menuId,
                                //MENUNAME = "",
                                RECORDID = BType.ITBID,
                                STATUS   = open,
                                // TABLENAME = "ADMIN_DEPARTMENT",
                                URL               = Request.FilePath,
                                USERID            = User.Identity.Name,
                                INSTITUTION_ITBID = institutionId,
                                POSTTYPE          = Single
                            };
                            repoAuth.Insert(auth);
                            var rst = uow.Save(User.Identity.Name) > 0 ? true : false;
                            if (rst)
                            {
                                EmailerNotification.SendForAuthorization(menuId, fullName, deptCode, institutionId, "ServiceChannel Record");
                                TempData["msg"] = "Record Updated SuccessFully...Authorization Pending.";
                                //return Json(new { RespCode = 0, RespMessage = "Record Created SuccessFully...Authorization Pending." });
                                return(RedirectToAction("Index", "ServiceChannel", new { m = m }));
                                //return Json(new { RespCode = 0, RespMessage = "Record Updated SuccessFully...Authorization Pending." });
                            }
                            else
                            {
                                ViewBag.Message = "Problem Updating Record.";
                                //return Json(new { RespCode = 0, RespMessage = "Record Created SuccessFully...Authorization Pending." });
                                return(View("Add", model));
                                //return Json(new { RespCode = 1, RespMessage = "Problem Updating Record." });
                            }
                        }
                    }
                    else
                    {
                        var BType = new SM_SERVICECHANNELSTEMP()
                        {
                            CODE        = model.CODE,
                            DESCRIPTION = model.DESCRIPTION,
                            STATUS      = open,
                            RECORDID    = model.ITBID,
                            ChannelID   = model.ChannelID,
                            BankCode    = model.BankCode,
                            BankAccount = model.BankAccount,
                            USERID      = User.Identity.Name,
                            CREATEDATE  = DateTime.Now
                        };
                        repoServiceChannelTemp.Insert(BType);
                        if (uow.Save(User.Identity.Name) > 0)
                        {
                            //var controller =  ControllerContext.Controller..ToString();
                            SM_AUTHLIST auth = new SM_AUTHLIST()
                            {
                                CREATEDATE = DateTime.Now,
                                EVENTTYPE  = eventInsert,
                                MENUID     = menuId,
                                //MENUNAME = "",
                                RECORDID = BType.ITBID,
                                STATUS   = open,
                                // TABLENAME = "ADMIN_DEPARTMENT",
                                URL               = Request.FilePath,
                                USERID            = User.Identity.Name,
                                INSTITUTION_ITBID = institutionId,
                                POSTTYPE          = Single
                            };
                            repoAuth.Insert(auth);
                            var rst = uow.Save(User.Identity.Name) > 0 ? true : false;
                            if (rst)
                            {
                                //newR = 1;
                                EmailerNotification.SendForAuthorization(menuId, fullName, deptCode, institutionId, "ServiceChannel Record");
                                TempData["msg"] = "Record Created SuccessFully...Authorization Pending.";
                                //return Json(new { RespCode = 0, RespMessage = "Record Created SuccessFully...Authorization Pending." });
                                return(RedirectToAction("Index", new { m = m }));

                                //return Json(new { RespCode = 0, RespMessage = "Record Created SuccessFully...Authorization Pending." });
                            }
                            else
                            {
                                ViewBag.Message = "Problem Updating Record.";
                                //return Json(new { RespCode = 0, RespMessage = "Record Created SuccessFully...Authorization Pending." });
                                return(View("Add", model));

                                // return Json(new { RespCode = 1, RespMessage = "Problem Creating Record." });
                            }
                        }
                    }
                }
                // If we got this far, something failed, redisplay form
                //errorMsg = GetModelError();
                errorMsg        = ModelStateErrorHandler.StringifyModelErrors(ModelState);
                ViewBag.Message = errorMsg;
                return(View("Add", model));
            }
            catch (SqlException ex)
            {
                ViewBag.Message = "Problem Updating Record.";
                //return Json(new { RespCode = 0, RespMessage = "Record Created SuccessFully...Authorization Pending." });
                return(View("Add", model));

                //return Json(new { RespCode = 1, RespMessage = ex.Message });
            }
            catch (Exception ex)
            {
                ViewBag.Message = "Problem Updating Record.";
                //return Json(new { RespCode = 0, RespMessage = "Record Created SuccessFully...Authorization Pending." });
                return(View("Add", model));
                //return Json(new { RespCode = 1, RespMessage = ex.Message });
            }
        }
 public ModelStateErrorHandlerFixture()
 {
     _subject = new ModelStateErrorHandler();
 }