public virtual ActionResult GetJsonTransRoom(string roomId)
        {
            MRoom      room      = _mRoomRepository.Get(roomId);
            TTransRoom troom     = _tTransRoomRepository.GetByRoom(room);
            DateTime?  TransDate = DateTime.Today;

            if (troom == null)
            {
                troom = new TTransRoom();
                troom.SetAssignedIdTo(Guid.NewGuid().ToString());
                troom.RoomStatus = EnumTransRoomStatus.New.ToString();
                troom.RoomInDate = DateTime.Now;
            }
            else
            {
                TransDate = troom.TransId.TransDate;
            }
            var t = new
            {
                troom.Id,
                troom.RoomInDate,
                troom.RoomOutDate,
                troom.RoomStatus,
                troom.RoomBookDate,
                troom.RoomCommissionService,
                troom.RoomCommissionProduct,
                TransDate,
                IsVipRoom = room.RoomStatus.Equals(EnumRoomStatus.VIP.ToString()).ToString()
            };

            return(Json(t, JsonRequestBehavior.AllowGet));
        }
        public ActionResult DeleteTransRoom(TTrans Trans)
        {
            _tTransRoomRepository.DbContext.BeginTransaction();

            TTrans t = _tTransRepository.Get(Trans.Id);

            if (t != null)
            {
                //delete trans room
                TTransRoom troom = _tTransRoomRepository.Get(t.Id);
                if (troom != null)
                {
                    _tTransRoomRepository.Delete(troom);
                }
                TTransDet det;
                for (int i = 0; i < t.TransDets.Count; i++)
                {
                    det = t.TransDets[i];
                    _tTransDetRepository.Delete(det);
                }
                _tTransRepository.Delete(t);
            }

            string Message = string.Empty;
            bool   Success = true;

            try
            {
                _tTransRoomRepository.DbContext.CommitTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success;
            }
            catch (Exception ex)
            {
                Success = false;
                Message = ex.GetBaseException().Message;
                _tTransRoomRepository.DbContext.RollbackTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed;
                return(Content(ex.GetBaseException().Message));
            }
            var e = new
            {
                Success,
                Message,
                RoomStatus = EnumTransRoomStatus.New.ToString()
            };

            //return Json(e, JsonRequestBehavior.AllowGet);
            return(Content("Data Billing berhasil dihapus."));
        }
        private static IList <RoomViewModel> GetRoomViewModel(ITTransRoomRepository transRoomRepository, IList <MRoom> listRoom)
        {
            IList <RoomViewModel> result = new List <RoomViewModel>();
            RoomViewModel         rvm    = null;
            MRoom      r     = null;
            TTransRoom troom = null;

            for (int i = 0; i < listRoom.Count; i++)
            {
                rvm = new RoomViewModel();
                r   = listRoom[i];
                rvm.SetAssignedIdTo(r.Id);
                rvm.RoomName   = r.RoomName;
                rvm.RoomInUsed = transRoomRepository.GetByRoom(r) != null;

                result.Add(rvm);
            }
            return(result);
        }
        private ActionResult CancelTransRoom(TTrans Trans, FormCollection formCollection)
        {
            _tTransRoomRepository.DbContext.BeginTransaction();

            TTransRoom troom = _tTransRoomRepository.Get(formCollection["TransId"]);

            if (troom != null)
            {
                _tTransRoomRepository.Delete(troom);
            }
            TTrans trans = _tTransRepository.Get(formCollection["TransId"]);

            if (trans != null)
            {
                _tTransRepository.Delete(trans);
            }

            string Message = string.Empty;
            bool   Success = true;

            try
            {
                _tTransRoomRepository.DbContext.CommitTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success;
            }
            catch (Exception ex)
            {
                Success = false;
                Message = ex.GetBaseException().Message;
                _tTransRoomRepository.DbContext.RollbackTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed;
            }
            var e = new
            {
                Success,
                Message,
                RoomStatus = EnumTransRoomStatus.New.ToString()
            };

            return(Json(e, JsonRequestBehavior.AllowGet));
        }
        public static BillingFormViewModel CreateBillingViewModel(IMRoomRepository mRoomRepository, IMEmployeeRepository mEmployeeRepository, IMCustomerRepository mCustomerRepository, ITTransRoomRepository transRoomRepository)
        {
            BillingFormViewModel viewModel = new BillingFormViewModel();

            viewModel.SpaManRoomList   = GetRoomViewModel(transRoomRepository, mRoomRepository.GetListByRoomType(EnumRoomType.SpaMan));
            viewModel.SpaWomanRoomList = GetRoomViewModel(transRoomRepository, mRoomRepository.GetListByRoomType(EnumRoomType.SpaWomen));
            viewModel.ReflexyRoomList  = GetRoomViewModel(transRoomRepository, mRoomRepository.GetListByRoomType(EnumRoomType.Reflexy));

            //var listCustomer = mCustomerRepository.GetAll();
            //MCustomer mCustomer = new MCustomer();
            ////mCustomer.SupplierName = "-Pilih Supplier-";
            //listCustomer.Insert(0, mCustomer);
            //var custs = from cust in listCustomer
            //            select new { Id = cust.Id, Name = cust.PersonId != null ? cust.PersonId.PersonName : "-Pilih Konsumen-" };
            //viewModel.CustomerList = new SelectList(custs, "Id", "Name");

            //var listEmployee = mEmployeeRepository.GetAll();
            //MEmployee employee = new MEmployee();
            ////mCustomer.SupplierName = "-Pilih Supplier-";
            //listEmployee.Insert(0, employee);
            //var employees = from emp in listEmployee
            //                select new { Id = emp.Id, Name = emp.PersonId != null ? emp.PersonId.PersonName : "-Pilih Terapis-" };
            //viewModel.TherapistList = new SelectList(employees, "Id", "Name");


            TTrans trans = new TTrans();

            trans.SetAssignedIdTo(Guid.NewGuid().ToString());
            trans.TransDiscount = 0;
            trans.TransDate     = DateTime.Today;
            viewModel.Trans     = trans;

            TTransRoom transRoom = new TTransRoom();

            transRoom.RoomInDate  = DateTime.Now;
            transRoom.RoomOutDate = DateTime.Now;
            viewModel.TransRoom   = transRoom;

            return(viewModel);
        }
예제 #6
0
        private ReportDataSource GetTransRoom(string TransId)
        {
            TTransRoom         troom         = _tTransRoomRepository.Get(TransId);
            IList <TTransRoom> listTransroom = new List <TTransRoom>();

            listTransroom.Add(troom);
            var listRoom = from det in listTransroom
                           select new
            {
                det.RoomId.Id,
                det.RoomInDate,
                det.RoomOutDate,
                det.RoomStatus,
                det.RoomVoucherPaid,
                det.RoomCashPaid,
                det.RoomCreditPaid,
                det.RoomCommissionProduct,
                det.RoomCommissionService
            }
            ;
            ReportDataSource reportDataSource = new ReportDataSource("TransRoomViewModel", listRoom.ToList());

            return(reportDataSource);
        }
예제 #7
0
        private static IList <RoomViewModel> GetRoomViewModel(ITTransRoomRepository transRoomRepository, IMCustomerRepository mCustomerRepository, IList <MRoom> listRoom)
        {
            IList <RoomViewModel> result = new List <RoomViewModel>();
            RoomViewModel         rvm    = null;
            MRoom      r     = null;
            TTransRoom troom = null;

            for (int i = 0; i < listRoom.Count; i++)
            {
                rvm   = new RoomViewModel();
                r     = listRoom[i];
                troom = transRoomRepository.GetByRoom(r);
                rvm.SetAssignedIdTo(r.Id);
                rvm.RoomName = r.RoomName;
                if (troom != null)
                {
                    rvm.RoomInUsed   = true;
                    rvm.CustomerName = Helper.CommonHelper.GetCustomerName(mCustomerRepository, troom.TransId.TransBy);
                }

                result.Add(rvm);
            }
            return(result);
        }
        private void SetReportDataForPrint(string TransId)
        {
            ReportDataSource[] repCol    = new ReportDataSource[3];
            TTrans             trans     = _tTransRepository.Get(TransId);
            IList <TTrans>     listTrans = new List <TTrans>();

            listTrans.Add(trans);
            var list = from t in listTrans
                       select new
            {
                t.TransFactur,
                t.TransDate,
                t.TransSubTotal,
                t.TransBy,
                t.TransDesc,
                t.TransDiscount,
                t.TransStatus,
                CustomerName = GetCustomerName(t.TransBy),
                PromoId      = t.PromoId != null ? t.PromoId.PromoName : null,
                t.PromoValue
            }
            ;
            ReportDataSource reportDataSource = new ReportDataSource("TransViewModel", list.ToList());

            repCol[0] = reportDataSource;

            IList <TTransDet> listDetail = trans.TransDets;

            Session["DetailRowCount"] = listDetail.Count;
            var listDet = from det in listDetail
                          select new
            {
                EmployeeId   = det.EmployeeId.Id,
                EmployeeName = det.EmployeeId.PersonId.PersonName,
                PacketId     = det.PacketId.Id,
                det.PacketId.PacketName,
                det.TransDetPrice,
                det.TransDetQty,
                det.TransDetDisc,
                det.TransDetCommissionProduct,
                det.TransDetCommissionService,
                det.TransDetNo,
                det.TransDetTotal
            }
            ;

            reportDataSource = new ReportDataSource("TransDetViewModel", listDet.ToList());
            repCol[1]        = reportDataSource;

            TTransRoom         troom         = _tTransRoomRepository.Get(TransId);
            IList <TTransRoom> listTransroom = new List <TTransRoom>();

            listTransroom.Add(troom);
            var listRoom = from det in listTransroom
                           select new
            {
                det.RoomId.Id,
                det.RoomInDate,
                det.RoomOutDate,
                det.RoomStatus,
                det.RoomVoucherPaid,
                det.RoomCashPaid,
                det.RoomCreditPaid,
                det.RoomCommissionProduct,
                det.RoomCommissionService
            }
            ;

            reportDataSource      = new ReportDataSource("TransRoomViewModel", listRoom.ToList());
            repCol[2]             = reportDataSource;
            Session["ReportData"] = repCol;
        }
        private ActionResult SaveTransRoom(TTrans Trans, FormCollection formCollection)
        {
            _tTransRepository.DbContext.BeginTransaction();
            if (Trans == null)
            {
                Trans = new TTrans();
            }
            Trans.SetAssignedIdTo(formCollection["TransId"]);
            Trans.TransStatus = EnumTransactionStatus.Service.ToString();
            if (!string.IsNullOrEmpty(formCollection["TransDiscount"]))
            {
                string TransDiscount = formCollection["TransDiscount"].Replace(",", "");
                Trans.TransDiscount = Convert.ToDecimal(TransDiscount);
            }
            //get promo
            MPromo  promo      = _mPromoRepository.GetActivePromoByDate(DateTime.Today);
            string  promoName  = string.Empty;
            decimal promoValue = 0;

            if (promo != null)
            {
                Trans.PromoId    = promo;
                Trans.PromoValue = promo.PromoValue;

                promoName  = promo.PromoName;
                promoValue = promo.PromoValue ?? 0;
            }

            //Trans.TransDate = DateTime.Today;
            Trans.CreatedDate = DateTime.Now;
            Trans.CreatedBy   = User.Identity.Name;
            Trans.DataStatus  = Enums.EnumDataStatus.New.ToString();



            _tTransRepository.Save(Trans);


            TTransRoom troom = new TTransRoom();

            troom.SetAssignedIdTo(Trans.Id);
            if (!string.IsNullOrEmpty(formCollection["RoomInDate"]))
            {
                troom.RoomInDate = Convert.ToDateTime(string.Format("{0:dd-MMM-yyyy} {1}", Trans.TransDate, formCollection["RoomInDate"]));
            }
            if (!string.IsNullOrEmpty(formCollection["RoomOutDate"]))
            {
                troom.RoomOutDate = Convert.ToDateTime(string.Format("{0:dd-MMM-yyyy} {1}", Trans.TransDate, formCollection["RoomOutDate"]));
            }
            troom.RoomStatus = EnumTransRoomStatus.In.ToString();
            if (!string.IsNullOrEmpty(formCollection["RoomId"]))
            {
                troom.RoomId = _mRoomRepository.Get(formCollection["RoomId"]);
            }
            troom.CreatedDate = DateTime.Now;
            troom.CreatedBy   = User.Identity.Name;
            troom.DataStatus  = EnumDataStatus.New.ToString();

            _tTransRoomRepository.Save(troom);

            string Message = string.Empty;
            bool   Success = true;

            try
            {
                _tTransRepository.DbContext.CommitTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success;
            }
            catch (Exception ex)
            {
                Success = false;
                Message = ex.GetBaseException().Message;
                _tTransRepository.DbContext.RollbackTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed;
            }
            var e = new
            {
                Success,
                Message,
                RoomStatus = EnumTransRoomStatus.In.ToString(),
                PromoName  = promoName + "(%)",
                PromoValue = promoValue
            };

            return(Json(e, JsonRequestBehavior.AllowGet));
            //return View("Status");
        }
        private ActionResult UpdateTransRoom(TTrans Trans, FormCollection formCollection)
        {
            _tTransRoomRepository.DbContext.BeginTransaction();
            TTrans trans = _tTransRepository.Get(formCollection["TransId"]);

            if (!string.IsNullOrEmpty(formCollection["TransDiscount"]))
            {
                string TransDiscount = formCollection["TransDiscount"].Replace(",", "");
                trans.TransDiscount = Convert.ToDecimal(TransDiscount);
            }
            else
            {
                trans.TransDiscount = null;
            }
            trans.TransPaymentMethod = EnumPaymentMethod.Tunai.ToString();
            trans.TransBy            = Trans.TransBy;
            trans.TransDate          = Trans.TransDate;
            trans.TransFactur        = Helper.CommonHelper.GetFacturNo(EnumTransactionStatus.Service);
            trans.WarehouseId        = Helper.CommonHelper.GetDefaultWarehouse();
            //update subtotal
            trans.TransSubTotal = trans.TransDets.Sum(x => x.TransDetTotal);
            _tTransRepository.Update(trans);

            decimal totalHpp = 0;

            //update stock
            foreach (TTransDet det in trans.TransDets)
            {
                foreach (TTransDetItem detItem in det.TTransDetItems)
                {
                    SaveStockItem(trans.TransDate, trans.TransDesc, detItem.ItemId, detItem.ItemQty, false, trans.WarehouseId);
                    //sum hpp for each stock
                    totalHpp += UpdateStock(trans.TransDate, trans.TransDesc, trans.TransStatus, detItem.ItemId, 0, detItem.ItemQty, det, false, trans.WarehouseId);
                }
            }

            TTransRoom troom = _tTransRoomRepository.Get(formCollection["TransId"]);

            troom.RoomStatus = EnumTransRoomStatus.Paid.ToString();
            if (!string.IsNullOrEmpty(formCollection["hidpaymentCash"]))
            {
                string paymentCash = formCollection["hidpaymentCash"].Replace(",", "");
                troom.RoomCashPaid = Convert.ToDecimal(paymentCash);
            }
            if (!string.IsNullOrEmpty(formCollection["hidpaymentVoucher"]))
            {
                string paymentVoucher = formCollection["hidpaymentVoucher"].Replace(",", "");
                troom.RoomVoucherPaid = Convert.ToDecimal(paymentVoucher);
            }
            if (!string.IsNullOrEmpty(formCollection["hidpaymentCreditCard"]))
            {
                string paymentCreditCard = formCollection["hidpaymentCreditCard"].Replace(",", "");
                troom.RoomCreditPaid = Convert.ToDecimal(paymentCreditCard);
            }
            troom.RoomOutDate  = Convert.ToDateTime(string.Format("{0:dd-MMM-yyyy} {1:HH:mm}", Trans.TransDate, DateTime.Now));
            troom.ModifiedBy   = User.Identity.Name;
            troom.ModifiedDate = DateTime.Now;
            troom.DataStatus   = EnumDataStatus.Updated.ToString();
            _tTransRoomRepository.Update(troom);

            //save journal
            SaveJournal(trans, totalHpp);

            string Message = string.Empty;
            bool   Success = true;

            try
            {
                _tTransRoomRepository.DbContext.CommitTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success;
            }
            catch (Exception ex)
            {
                Success = false;
                Message = ex.GetBaseException().Message;
                _tTransRoomRepository.DbContext.RollbackTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed;
            }
            var e = new
            {
                Success,
                Message,
                RoomStatus = EnumTransRoomStatus.Paid.ToString()
            };

            return(Json(e, JsonRequestBehavior.AllowGet));
            // return View("Status");
        }
예제 #11
0
        private void SetReportDataForPrint(string TransId)
        {
            ReportDataSource[] repCol    = new ReportDataSource[3];
            TTrans             trans     = _tTransRepository.Get(TransId);
            IList <TTrans>     listTrans = new List <TTrans>();

            listTrans.Add(trans);
            var list = from t in listTrans
                       select new
            {
                t.TransFactur,
                t.TransDate,
                t.TransSubTotal,
                t.TransBy,
                t.TransDesc,
                t.TransDiscount,
                t.TransStatus,
                CustomerName = Helper.CommonHelper.GetCustomerName(_mCustomerRepository, t.TransBy),
                t.TransGrandTotal
            }
            ;
            ReportDataSource reportDataSource = new ReportDataSource("TransViewModel", list.ToList());

            repCol[0] = reportDataSource;

            IList <TTransDet> listDetail = trans.TransDets;

            Session["DetailRowCount"] = listDetail.Count;
            var listDet = from det in listDetail
                          select new
            {
                EmployeeId   = det.EmployeeId != null ? det.EmployeeId.Id : null,
                EmployeeName = det.EmployeeId != null ? det.EmployeeId.PersonId.PersonName : null,
                ActionId     = det.ActionId.Id,
                det.ActionId.ActionName,
                det.TransDetPrice,
                det.TransDetQty,
                det.TransDetDisc,
                TransDetCommissionProduct = 0,
                TransDetCommissionService = 0,
                det.TransDetNo,
                det.TransDetTotal,
                DoctorName    = GetCommissionEmployeeName(det, EnumCommissionPeople.Doctor),
                TherapistName = GetCommissionEmployeeName(det, EnumCommissionPeople.Therapist),
                MedicianName  = GetCommissionEmployeeName(det, EnumCommissionPeople.Medician)
            }
            ;

            reportDataSource = new ReportDataSource("TransDetViewModel", listDet.ToList());
            repCol[1]        = reportDataSource;

            TTransRoom         troom         = _tTransRoomRepository.Get(TransId);
            IList <TTransRoom> listTransroom = new List <TTransRoom>();

            listTransroom.Add(troom);
            var listRoom = from det in listTransroom
                           select new
            {
                det.RoomId.Id,
                det.RoomInDate,
                det.RoomOutDate,
                det.RoomStatus,
                det.RoomVoucherPaid,
                det.RoomCashPaid,
                det.RoomCreditPaid,
                det.RoomCommissionProduct,
                det.RoomCommissionService,
                det.ModifiedBy
            }
            ;

            reportDataSource      = new ReportDataSource("TransRoomViewModel", listRoom.ToList());
            repCol[2]             = reportDataSource;
            Session["ReportData"] = repCol;
        }
예제 #12
0
        private ActionResult SaveTransaction(TTrans Trans, FormCollection formCollection)
        {
            try
            {
                _tTransRepository.DbContext.BeginTransaction();
                if (Trans == null)
                {
                    Trans = new TTrans();
                }
                Trans.SetAssignedIdTo(formCollection["Trans.Id"]);
                if (!string.IsNullOrEmpty(formCollection["Trans.WarehouseId"]))
                {
                    Trans.WarehouseId = _mWarehouseRepository.Get(formCollection["Trans.WarehouseId"]);
                }
                if (!string.IsNullOrEmpty(formCollection["Trans.WarehouseIdTo"]))
                {
                    Trans.WarehouseIdTo = _mWarehouseRepository.Get(formCollection["Trans.WarehouseIdTo"]);
                }
                if (!string.IsNullOrEmpty(formCollection["EmployeeId"]))
                {
                    Trans.EmployeeId = _mEmployeeRepository.Get(formCollection["EmployeeId"]);
                }
                Trans.CreatedDate = DateTime.Now;
                Trans.CreatedBy   = User.Identity.Name;
                Trans.DataStatus  = Enums.EnumDataStatus.New.ToString();

                Trans.TransDets.Clear();

                ////save stock card
                //bool addStock = true;
                //bool calculateStock = false;
                //EnumTransactionStatus status = (EnumTransactionStatus)Enum.Parse(typeof(EnumTransactionStatus), Trans.TransStatus);
                //TransactionFormViewModel.GetIsCalculateStock(status, out addStock, out calculateStock);

                TTransDet detToInsert;
                //IList<TTransDet> listDet = new List<TTransDet>();
                decimal total = 0;
                foreach (TTransDet det in ListDetTrans)
                {
                    detToInsert = new TTransDet(Trans);
                    detToInsert.SetAssignedIdTo(Guid.NewGuid().ToString());
                    detToInsert.ItemId        = det.ItemId;
                    detToInsert.ItemUomId     = det.ItemUomId;
                    detToInsert.TransDetQty   = det.TransDetQty;
                    detToInsert.TransDetPrice = det.TransDetPrice;
                    detToInsert.TransDetDisc  = det.TransDetDisc;
                    detToInsert.TransDetTotal = det.TransDetTotal;
                    detToInsert.CreatedBy     = User.Identity.Name;
                    detToInsert.CreatedDate   = DateTime.Now;
                    detToInsert.DataStatus    = Enums.EnumDataStatus.New.ToString();

                    detToInsert.EmployeeId = Trans.EmployeeId;

                    detToInsert.TransDetCommissionProduct = CalculateCommission(Trans.EmployeeId, det.ItemId, detToInsert.TransDetTotal);
                    Trans.TransDets.Add(detToInsert);
                    total += det.TransDetTotal.HasValue ? det.TransDetTotal.Value : 0;
                    //listDet.Add(detToInsert);
                }
                Trans.TransSubTotal = total;
                _tTransRepository.Save(Trans);


                TTransRoom troom = new TTransRoom();
                troom.SetAssignedIdTo(formCollection["Trans.Id"]);
                troom.RoomStatus = EnumTransRoomStatus.Paid.ToString();
                if (!string.IsNullOrEmpty(formCollection["hidpaymentCash"]))
                {
                    string paymentCash = formCollection["hidpaymentCash"].Replace(",", "");
                    troom.RoomCashPaid = Convert.ToDecimal(paymentCash);
                }
                if (!string.IsNullOrEmpty(formCollection["hidpaymentVoucher"]))
                {
                    string paymentVoucher = formCollection["hidpaymentVoucher"].Replace(",", "");
                    troom.RoomVoucherPaid = Convert.ToDecimal(paymentVoucher);
                }
                if (!string.IsNullOrEmpty(formCollection["hidpaymentCreditCard"]))
                {
                    string paymentCreditCard = formCollection["hidpaymentCreditCard"].Replace(",", "");
                    troom.RoomCreditPaid = Convert.ToDecimal(paymentCreditCard);
                }
                troom.RoomOutDate = Convert.ToDateTime(string.Format("{0:dd-MMM-yyyy} {1:HH:mm}", Trans.TransDate, DateTime.Now));
                troom.CreatedBy   = User.Identity.Name;
                troom.CreatedDate = DateTime.Now;
                troom.DataStatus  = EnumDataStatus.New.ToString();
                _tTransRoomRepository.Save(troom);


                _tTransRepository.DbContext.CommitTransaction();

                ////_tStockCardRepository.DbContext.BeginTransaction();
                //if (calculateStock)
                //{
                //    decimal totalHpp = 0;
                //    foreach (TTransDet det in listDet)
                //    {
                //        //save stock
                //        if (Trans.TransStatus.Equals(EnumTransactionStatus.Mutation.ToString()))
                //        {
                //            SaveStockItem(Trans.TransDate, Trans.TransDesc, det.ItemId, det.TransDetQty, false, Trans.WarehouseId);
                //            SaveStockItem(Trans.TransDate, Trans.TransDesc, det.ItemId, det.TransDetQty, true, Trans.WarehouseIdTo);

                //            //still to do, for mutation, price of stock must recalculate per stock,
                //            //sum hpp for each stock for stock out
                //            totalHpp += UpdateStock(Trans.TransDate, Trans.TransDesc, Trans.TransStatus, det.ItemId, det.TransDetPrice, det.TransDetQty, det, false, Trans.WarehouseId);
                //            UpdateStock(Trans.TransDate, Trans.TransDesc, Trans.TransStatus, det.ItemId, det.TransDetPrice, det.TransDetQty, det, true, Trans.WarehouseIdTo);
                //        }
                //        else
                //        {
                //            SaveStockItem(Trans.TransDate, Trans.TransDesc, det.ItemId, det.TransDetQty, addStock, Trans.WarehouseId);

                //            //sum hpp for each stock
                //            totalHpp += UpdateStock(Trans.TransDate, Trans.TransDesc, Trans.TransStatus, det.ItemId, det.TransDetPrice, det.TransDetQty, det, addStock, Trans.WarehouseId);
                //        }
                //    }
                //    //save journal
                //    SaveJournal(Trans, totalHpp);
                //}


                //_tTransRepository.DbContext.CommitTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success;
            }
            catch (Exception)
            {
                _tTransRepository.DbContext.RollbackTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed;
            }
            //if (!Trans.TransStatus.Equals(EnumTransactionStatus.PurchaseOrder.ToString()))
            //{
            //    return RedirectToAction(Trans.TransStatus.ToString());
            //}
            //return RedirectToAction("Index");
            return(View("Status"));
        }