public ActionResult SaveApprovalPermission(List<CmnApprovalUserPermissionViewModel> obj)
        {
            Operation operation = new Operation { Success = false };
            if (ModelState.IsValid)
            {
                CmnApprovalUserPermission cmnApprovalUserPermission;
                int lastId = _cmnApprovalUserPermissionService.GetLastId();
                if (obj != null)
                {
                    foreach (CmnApprovalUserPermissionViewModel item in obj)
                    {
                        if (item.Id == 0)
                        {
                            cmnApprovalUserPermission = new CmnApprovalUserPermission();
                            cmnApprovalUserPermission.Id = lastId;
                            cmnApprovalUserPermission.CmnApprovalProcessLevelId = item.CmnApprovalProcessLevelId;
                            cmnApprovalUserPermission.SecUserId = item.SecUserId;
                            _cmnApprovalUserPermissionService.Save(cmnApprovalUserPermission);
                            lastId++;

                        }
                        else if (item.Id != 0 && item.Mapped == false)
                        {
                            cmnApprovalUserPermission = _cmnApprovalUserPermissionService.GetById(item.Id);
                            _cmnApprovalUserPermissionService.Delete(cmnApprovalUserPermission);
                        }
                    }
                    operation = _cmnApprovalUserPermissionService.Commit();

                }
                else { operation.Success = true; }
            }
            return Json(operation, JsonRequestBehavior.DenyGet);
        }
        public ActionResult SaveApprovalProcessMapping(List<CmnApprovalProcessLevelViewModel> objApprovalProcessLevels, int cmnCompanyId = 1)
        {
            Operation operation = new Operation { Success = false };
            if (ModelState.IsValid)
            {
                CmnApprovalProcessLevel obj = null;
                int lastId = 0;
                lastId = _cmnApprovalProcessLevelService.GetLastId();
                foreach (CmnApprovalProcessLevelViewModel item in objApprovalProcessLevels)
                {
                    if (item.Id == 0)
                    {
                        obj = new CmnApprovalProcessLevel();
                        obj.Id = lastId;
                        obj.Priority = item.Priority;
                        obj.CmnProcessLevelId = item.CmnProcessLevelId;
                        obj.CmnApprovalProcessId = item.CmnApprovalProcessId;
                        obj.CmnCompanyId = cmnCompanyId;

                        _cmnApprovalProcessLevelService.Save(obj);
                        lastId++;
                    }
                    else
                    {
                        obj = _cmnApprovalProcessLevelService.GetById(item.Id);
                        if (item.Mapped)
                        {
                            obj.Priority = item.Priority;
                            obj.CmnProcessLevelId = item.CmnProcessLevelId;
                            obj.CmnApprovalProcessId = item.CmnApprovalProcessId;
                            _cmnApprovalProcessLevelService.Update(obj);
                        }
                        else
                        {
                            _cmnApprovalProcessLevelService.Delete(obj);
                        }
                    }
                }

                operation = _cmnApprovalProcessLevelService.Commit();
            }
            return Json(operation, JsonRequestBehavior.DenyGet);
        }
        public ActionResult Update(List<AnfClosingBlanceViewModel> viewModelList)
        {
            ERPOptima.Lib.Model.Operation objOperation = new ERPOptima.Lib.Model.Operation { Success = false };

            int financialYearId = Convert.ToInt32(Session["financialYear"].ToString());
            int companyId = Convert.ToInt32(Session["companyId"].ToString());
            int userID = Convert.ToInt32(Session["userId"]);

            if (ModelState.IsValid && viewModelList != null)
            {
                foreach (var item in viewModelList)
                {
                    if (item != null)
                    {
                        AnFClosingBalance objAnFClosingBalance = _anfClosingBalanceService.GetById(item.Id);
                        if (objAnFClosingBalance == null)
                        {

                                objAnFClosingBalance = new AnFClosingBalance();
                                objAnFClosingBalance.AnfChartOfAccountId = item.AnFChartOfAccountId;
                                objAnFClosingBalance.Debit = item.Debit;
                                objAnFClosingBalance.Credit = item.Credit;
                                objAnFClosingBalance.IsEditable = true;
                                objAnFClosingBalance.Status = true;
                                objAnFClosingBalance.CmnFinancialYearId = financialYearId;
                                objAnFClosingBalance.CmnCompanyId = companyId;
                                objAnFClosingBalance.CreatedBy = userID;

                                _anfClosingBalanceService.Save(objAnFClosingBalance);

                       }

                       else
                        {
                                objAnFClosingBalance.Debit = item.Debit;
                                objAnFClosingBalance.Credit = item.Credit;
                                _anfClosingBalanceService.Update(objAnFClosingBalance);

                        }
                    }

                }

                objOperation = _anfClosingBalanceService.Commit();
            }

            return Json(objOperation, JsonRequestBehavior.DenyGet);
        }