public ActionResult _Create(int CalculationId, int DocTypeId) //Id ==>Calculation Id
        {
            CalculationHeaderLedgerAccountViewModel vm = new CalculationHeaderLedgerAccountViewModel();

            vm.CalculationId = CalculationId;
            vm.DocTypeId     = DocTypeId;
            return(PartialView("_Create", vm));
        }
        public ActionResult Edit(int id, int DoctypeId)
        {
            CalculationHeaderLedgerAccountViewModel temp = _CalculationHeaderLedgerAccountService.GetCalculationHeaderLedgerAccount(id, DoctypeId);

            if (temp == null)
            {
                return(HttpNotFound());
            }
            return(PartialView("Create", temp));
        }
        public ActionResult DeletePost(CalculationHeaderLedgerAccountViewModel vm)
        {
            CalculationHeaderLedgerAccount CalculationHeaderLedgerAccount = _CalculationHeaderLedgerAccountService.Find(vm.CalculationHeaderLedgerAccountId);

            _CalculationHeaderLedgerAccountService.Delete(CalculationHeaderLedgerAccount);

            try
            {
                _unitOfWork.Save();
            }

            catch (Exception ex)
            {
                string message = _exception.HandleException(ex);
                ModelState.AddModelError("", message);
                return(PartialView("_Create", vm));
            }
            return(Json(new { success = true }));
        }
        public ActionResult CreatePost(CalculationHeaderLedgerAccountViewModel vm)
        {
            if (vm.CalculationId <= 0)
            {
                ModelState.AddModelError("CalculationId", "The Calculation field is required.");
            }
            if (vm.DocTypeId <= 0)
            {
                ModelState.AddModelError("DocTypeId", "The DocumentType field is required.");
            }

            if (ModelState.IsValid)
            {
                return(View("Create", vm).Success("Data saved successfully"));
            }
            else
            {
                return(View("Create", vm));
            }
        }
        public ActionResult _Edit(int?CHeaderLedgerId, int DocTypeId, int CalculationFooterId, int CalculationId)
        {
            if (CHeaderLedgerId.HasValue && CHeaderLedgerId > 0)
            {
                CalculationHeaderLedgerAccountViewModel temp = _CalculationHeaderLedgerAccountService.GetCalculationHeaderLedgerAccount(CHeaderLedgerId.Value);

                if (temp == null)
                {
                    return(HttpNotFound());
                }
                return(PartialView("_Create", temp));
            }
            else
            {
                CalculationHeaderLedgerAccountViewModel vm = new CalculationHeaderLedgerAccountViewModel();
                vm.DocTypeId           = DocTypeId;
                vm.CalculationFooterId = CalculationFooterId;
                vm.CalculationId       = CalculationId;
                return(PartialView("_Create", vm));
            }
        }
        public ActionResult Create()
        {
            CalculationHeaderLedgerAccountViewModel vm = new CalculationHeaderLedgerAccountViewModel();

            return(View(vm));
        }
        public ActionResult _CreatePost(CalculationHeaderLedgerAccountViewModel svm)
        {
            CalculationHeaderLedgerAccount s = Mapper.Map <CalculationHeaderLedgerAccountViewModel, CalculationHeaderLedgerAccount>(svm);

            if (ModelState.IsValid)
            {
                if (svm.CalculationHeaderLedgerAccountId <= 0)
                {
                    s.CreatedDate  = DateTime.Now;
                    s.ModifiedDate = DateTime.Now;
                    s.CreatedBy    = User.Identity.Name;
                    s.ModifiedBy   = User.Identity.Name;
                    s.SiteId       = (int)System.Web.HttpContext.Current.Session["SiteId"];
                    s.DivisionId   = (int)System.Web.HttpContext.Current.Session["DivisionId"];
                    s.ObjectState  = Model.ObjectState.Added;

                    _CalculationHeaderLedgerAccountService.Create(s);

                    try
                    {
                        _unitOfWork.Save();
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        ModelState.AddModelError("", message);
                        return(PartialView("_Create", svm));
                    }
                    return(Json(new { success = true }));
                    //return RedirectToAction("_Create", new { CalculationId = s.CalculationId, DocTypeId=s.DocTypeId });
                }
                else
                {
                    List <LogTypeViewModel>        LogList = new List <LogTypeViewModel>();
                    CalculationHeaderLedgerAccount temp1   = _CalculationHeaderLedgerAccountService.Find(svm.CalculationHeaderLedgerAccountId);

                    CalculationHeaderLedgerAccount ExRec = Mapper.Map <CalculationHeaderLedgerAccount>(temp1);

                    temp1.CalculationFooterId   = s.CalculationFooterId;
                    temp1.CostCenterId          = s.CostCenterId;
                    temp1.LedgerAccountCrId     = s.LedgerAccountCrId;
                    temp1.LedgerAccountDrId     = s.LedgerAccountDrId;
                    temp1.ContraLedgerAccountId = s.ContraLedgerAccountId;

                    temp1.ModifiedDate = DateTime.Now;
                    temp1.ModifiedBy   = User.Identity.Name;
                    temp1.ObjectState  = Model.ObjectState.Modified;
                    _CalculationHeaderLedgerAccountService.Update(temp1);

                    LogList.Add(new LogTypeViewModel
                    {
                        ExObj = ExRec,
                        Obj   = temp1,
                    });
                    XElement Modifications = new ModificationsCheckService().CheckChanges(LogList);


                    try
                    {
                        _unitOfWork.Save();
                    }

                    catch (Exception ex)
                    {
                        string message = _exception.HandleException(ex);
                        ModelState.AddModelError("", message);
                        return(PartialView("_Create", svm));
                    }

                    //LogActivity.LogActivityDetail(new DocumentTypeService(_unitOfWork).Find(MasterDocTypeConstants.CalculationLedgerAccount).DocumentTypeId,
                    //temp1.CalculationHeaderLedgerAccountId,
                    //null,
                    //(int)ActivityTypeContants.Modified,
                    //"",
                    //User.Identity.Name, "", Modifications);

                    return(Json(new { success = true }));
                }
            }
            return(PartialView("_Create", svm));
        }