public long SaveClaimFigure(ClaimFigure cf)
        {
            long result             = 0;
            DynamicParameters param = new DynamicParameters();

            param.Add("@AccountCode", cf.AccountCode, DbType.String);
            param.Add("@Quarter", cf.Quarter, DbType.String);
            param.Add("@CreatedBy", cf.CreatedBy, DbType.Int64);
            param.Add("@SystemIp ", cf.SystemIp, DbType.String);
            param.Add("@InvoiceAmount ", cf.InvoiceAmount, DbType.Decimal);
            param.Add("@ProgramTypeId ", (cf.ProgramType != null ? cf.ProgramType.Id : 0), DbType.Int64);
            param.Add("@InvoicePeriod ", cf.InvoicePeriod, DbType.String);
            using (IDbConnection conn = factory.GetConnection())
            {
                conn.Open();
                string SQL = @"[USP_SaveClaimFigure]";
                result = conn.Query <long>(SQL, param, commandType: CommandType.StoredProcedure).FirstOrDefault <long>();
                conn.Close();
            }
            return(result);
        }
        public ActionResult Add(ClaimFigure CF, string InvoiceType)
        {
            if (CF != null)
            {
                UserAccount u = (UserAccount)Session["UserAccount"];

                if (_claimDao.ValidateBudgetAmount(CF.AccountCode, CF.ProgramType != null ? CF.ProgramType.Id : 0, CF.InvoiceAmount))
                {
                    if (_claimDao.ValidateAccountCode(CF.AccountCode))
                    {
                        CF.SystemIp  = GetRemoteIp.GetIPAddress(HttpContext);
                        CF.CreatedBy = u.Id;
                        if (_claimFigureDao.SaveClaimFigure(CF) > 0)
                        {
                            return(RedirectToRoute("Claim_Index"));
                        }
                    }
                    else
                    {
                        ViewBag.Error = "Please Enter valid Account Code";
                    }
                }
                else
                {
                    ViewBag.Error = "The Distributor didn't have enough budget";
                }
            }
            else
            {
                ViewBag.Error = "Error occured.";
            }

            ViewBag.ProgramTypes = _distributorDao.GetProgramTypeList();

            return(View(CF));
        }