private JournalVoucherViewModel mapModel(JournalVoucherCreateModel model, JournalVoucherViewModel jv)
        {
            jv.CompanyId      = AuthenticationHelper.User.CompanyId;
            jv.ConversionRate = model.ConversionRate;
            jv.CurrencyId     = model.CurrencyId;
            jv.Description    = model.Description;
            jv.DocumentNo     = model.DocumentNo;
            jv.GLDate         = model.GLDate;
            jv.Id             = model.HeaderId;
            jv.JournalName    = model.JournalName;
            if (jv.JournalVoucherDetail == null)
            {
                jv.JournalVoucherDetail = new List <JournalVoucherDetailModel>();
            }
            jv.JournalVoucherDetail.Add(new JournalVoucherDetailModel
            {
                AccountedCr       = model.AccountedCr,
                AccountedDr       = model.AccountedDr,
                CodeCombinationId = model.CodeCombinationId,
                Description       = model.GLLinesDescription,
                EnteredCr         = model.EnteredCr,
                EnteredDr         = model.EnteredDr,
                HeaderId          = model.HeaderId,
                Id          = model.Id,
                Qty         = model.Qty,
                TaxRateCode = model.TaxRateCode
            });

            jv.PeriodId = model.PeriodId;
            jv.SOBId    = model.SOBId;
            return(jv);
        }
        public ActionResult Create(long sobId, long periodId, long currencyId)
        {
            if (sobId > 0 && periodId > 0 && currencyId > 0)
            {
                JournalVoucherCreateModel model = new JournalVoucherCreateModel();
                model.SOBId      = sobId;
                model.PeriodId   = periodId;
                model.CurrencyId = currencyId;
                model.SOBName    = sobService.GetSingle(sobId.ToString(), AuthenticationHelper.User.CompanyId).Name;

                SessionHelper.Calendar = new CalendarViewModel(calendarService.GetSingle(periodId.ToString(), AuthenticationHelper.User.CompanyId));
                model.GLDate           = SessionHelper.Calendar.StartDate;
                model.ConversionRate   = 1;

                model.PeriodName          = SessionHelper.Calendar.PeriodName;
                model.CurrencyName        = currencyService.GetSingle(currencyId.ToString(), AuthenticationHelper.User.CompanyId).Name;
                model.CodeCombinationList = codeCombinitionService.GetAll(AuthenticationHelper.User.CompanyId, model.SOBId, "", false, null, "", "")
                                            .Select(x => new SelectListItem
                {
                    Text  = x.CodeCombinitionCode,
                    Value = x.Id.ToString()
                }).ToList();

                return(View(model));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
        public ActionResult Create(JournalVoucherCreateModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.GLDate < SessionHelper.Calendar.StartDate || model.GLDate > SessionHelper.Calendar.EndDate)
                {
                    ModelState.AddModelError("Error", "Invalid Effective date");
                }
                else
                {
                    SessionHelper.JournalVoucher = mapModel(model, SessionHelper.JournalVoucher);

                    ////model.HeaderId = ?????,
                    ////model.Id = ????,
                    ////model.CodeCombinationId = ????;
                    model.GLLinesDescription = "";
                    model.EnteredDr          = 0;
                    model.AccountedDr        = 0;
                    model.EnteredCr          = 0;
                    model.AccountedCr        = 0;
                    model.Qty         = 0;
                    model.TaxRateCode = 0;

                    return(RedirectToAction("Edit", model));
                }
            }
            return(View(model));
        }
 public ActionResult Edit(JournalVoucherCreateModel model)
 {
     model.CodeCombinationList = codeCombinitionService.GetAll(AuthenticationHelper.User.CompanyId, model.SOBId, "", false, null, "", "")
                                 .Select(x => new SelectListItem
     {
         Text  = x.CodeCombinitionCode,
         Value = x.Id.ToString()
     }).ToList();
     return(View(model));
 }
        public ActionResult Edit(JournalVoucherCreateModel model, string submit)
        {
            if (ModelState.IsValid)
            {
                if (model.GLDate < SessionHelper.Calendar.StartDate || model.GLDate > SessionHelper.Calendar.EndDate)
                {
                    ModelState.AddModelError("Error", "Invalid Effective date");
                }
                else
                {
                    SessionHelper.JournalVoucher = mapModel(model, SessionHelper.JournalVoucher);

                    if (submit == "Save")
                    {
                        long result = saveJournalVoucher(SessionHelper.JournalVoucher);
                        if (result > 0)
                        {
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            ModelState.AddModelError("Error", "Unable to save!");
                        }
                    }
                    else
                    {
                        ////model.HeaderId = ?????,
                        ////model.Id = ????,
                        ////model.CodeCombinationId = ????;
                        model.GLLinesDescription = "";
                        model.EnteredDr          = 0;
                        model.AccountedDr        = 0;
                        model.EnteredCr          = 0;
                        model.AccountedCr        = 0;
                        model.Qty         = 0;
                        model.TaxRateCode = 0;

                        return(RedirectToAction("Edit", model));
                        //return View("Edit", model);
                    }
                }
            }
            return(View(model));
        }