示例#1
0
        public override void SaveJournal(TTrans trans, decimal totalHPP)
        {
            //string desc = string.Format("Retur Penjualan barang dari {0}", trans.TransBy);
            //string newVoucher = Helper.CommonHelper.GetVoucherNo(false);
            ////save header of journal
            //TJournal journal = SaveJournalHeader(newVoucher, trans, desc);
            //MAccountRef accountRef = null;

            ////save retur penjualan
            //SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetReturSalesAccount(), EnumJournalStatus.D, trans.TransGrandTotal.Value, trans, desc);
            //if (trans.TransPaymentMethod == EnumPaymentMethod.Tunai.ToString())
            //{
            //    //save cash
            //    SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetCashAccount(), EnumJournalStatus.K, trans.TransGrandTotal.Value, trans, desc);
            //}
            //else
            //{
            //    accountRef = AccountRefRepository.GetByRefTableId(EnumReferenceTable.Customer, trans.TransBy);
            //    //save piutang
            //    SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.K, trans.TransGrandTotal.Value, trans, desc);
            //}

            ////save persediaan
            //accountRef = AccountRefRepository.GetByRefTableId(EnumReferenceTable.Warehouse, trans.WarehouseId.Id);
            //SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.D, totalHPP, trans, desc);

            ////save ikhtiar LR
            //SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetIkhtiarLRAccount(), EnumJournalStatus.K, totalHPP, trans, desc);

            //JournalRepository.Save(journal);
        }
示例#2
0
        private static TTrans SetNewTrans(EnumTransactionStatus enumTransactionStatus)
        {
            TTrans trans = new TTrans();

            trans.TransDate   = DateTime.Today;
            trans.TransFactur = Helper.CommonHelper.GetFacturNo(enumTransactionStatus);
            trans.SetAssignedIdTo(Guid.NewGuid().ToString());
            trans.TransStatus = enumTransactionStatus.ToString();
            return(trans);
        }
示例#3
0
        private void DeleteTransaction(TTrans tr, bool addStock, bool calculateStock)
        {
            IList <TTransDet> listDet = tr.TransDets;

            IEnumerable <string> listDetailId = from det in listDet
                                                select det.Id;

            DeleteTransactionDetail(tr, addStock, calculateStock, listDetailId.ToArray());

            _tTransRepository.Delete(tr);
        }
示例#4
0
        private void DeleteJournal(TTrans trans)
        {
            TJournalRef journalRef = JournalRefRepository.GetByReference(EnumReferenceTable.Transaction,
                                                                         trans.TransStatus, trans.Id);

            if (journalRef != null)
            {
                TJournal journalToDelete = journalRef.JournalId;
                JournalRefRepository.Delete(journalRef);
                JournalRepository.Delete(journalToDelete);
            }
        }
示例#5
0
        public IList <TTransDet> GetListByTrans(TTrans trans)
        {
            ICriteria criteria = Session.CreateCriteria(typeof(TTransDet));

            if (trans != null)
            {
                criteria.Add(Expression.Eq("TransId", trans));
            }

            IList <TTransDet> list = criteria.List <TTransDet>();

            return(list);
        }
示例#6
0
        private void SaveOrDeleteJournal(TTrans trans, decimal totalHPP, bool isDelete)
        {
            AbstractTransaction tr = null;

            //set class to its transaction
            if (trans.TransStatus.Equals(EnumTransactionStatus.Purchase.ToString()))
            {
                tr = new Purchase();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.ReturPurchase.ToString()))
            {
                tr = new ReturPurchase();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.Mutation.ToString()))
            {
                tr = new Mutation();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.Received.ToString()))
            {
                tr = new Received();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.Using.ToString()))
            {
                tr = new Using();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.Adjusment.ToString()))
            {
                tr = new Adjusment();
            }

            //return if no class specified
            if (tr == null)
            {
                return;
            }

            tr.UserName             = User.Identity.Name;
            tr.AccountRefRepository = _mAccountRefRepository;
            tr.JournalRepository    = _tJournalRepository;
            tr.JournalRefRepository = _tJournalRefRepository;
            if (isDelete)
            {
                tr.DeleteJournal(EnumReferenceTable.Transaction, trans.TransStatus, trans.Id);
            }
            else
            {
                tr.SaveJournal(trans, totalHPP);
            }
        }
        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."));
        }
示例#8
0
        protected void SaveJournalRef(TTrans trans, TJournal j)
        {
            TJournalRef journalRef = new TJournalRef();

            journalRef.SetAssignedIdTo(Guid.NewGuid().ToString());
            journalRef.JournalId      = j;;
            journalRef.ReferenceTable = EnumReferenceTable.Transaction.ToString();
            journalRef.ReferenceType  = trans.TransStatus;
            journalRef.ReferenceId    = trans.Id;
            journalRef.JournalRefDesc = trans.TransDesc;
            journalRef.CreatedBy      = UserName;
            journalRef.CreatedDate    = DateTime.Now;
            journalRef.DataStatus     = EnumDataStatus.New.ToString();
            JournalRefRepository.Save(journalRef);
        }
        public ActionResult InsertBill(TTransDet viewModel, FormCollection formCollection, string transId)
        {
            //_tTransDetRepository.DbContext.BeginTransaction();
            TTrans trans = _tTransRepository.Get(transId);

            UpdateNumericData(viewModel, formCollection);
            TTransDet transDetToInsert = new TTransDet(trans);
            MEmployee emp    = _mEmployeeRepository.Get(formCollection["EmployeeId"]);
            MPacket   packet = _mPacketRepository.Get(formCollection["PacketId"]);

            TransferFormValuesTo(transDetToInsert, viewModel);
            transDetToInsert.SetAssignedIdTo(Guid.NewGuid().ToString());
            transDetToInsert.PacketId   = packet;
            transDetToInsert.EmployeeId = emp;

            decimal?TotalToCalculate = transDetToInsert.TransDetTotal -
                                       (transDetToInsert.TransDetTotal * trans.TransDiscount / 100);

            transDetToInsert.TransDetCommissionService = CalculateCommission(emp, packet, TotalToCalculate);

            transDetToInsert.CreatedDate = DateTime.Now;
            transDetToInsert.CreatedBy   = User.Identity.Name;
            transDetToInsert.DataStatus  = EnumDataStatus.New.ToString();
            //_tTransDetRepository.Save(transDetToInsert);
            //try
            //{
            //    _tTransDetRepository.DbContext.CommitTransaction();
            //    TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success;
            //    return Content("success");
            //}
            //catch (Exception ex)
            //{
            //    _tTransDetRepository.DbContext.RollbackTransaction();
            //    TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed;
            //    return Content(ex.Message);
            //}

            //save temporary to session, then display transdetitem form
            Session[CONST_TRANSDET] = transDetToInsert;
            var e = new
            {
                transDetToInsert.Id,
                PacketId = transDetToInsert.PacketId.Id,
                transDetToInsert.TransDetQty
            };

            return(Json(e, JsonRequestBehavior.AllowGet));
        }
示例#10
0
        private ActionResult SaveTransactionRef(TTrans Trans, FormCollection formCollection)
        {
            _tTransRepository.DbContext.BeginTransaction();
            if (Trans == null)
            {
                Trans = new TTrans();
            }
            Trans.SetAssignedIdTo(formCollection["Trans.Id"]);
            Trans.CreatedDate   = DateTime.Now;
            Trans.CreatedBy     = User.Identity.Name;
            Trans.DataStatus    = Enums.EnumDataStatus.New.ToString();
            Trans.TransSubTotal = ListTransRef.Sum(x => x.TransIdRef.TransSubTotal);
            _tTransRepository.Save(Trans);
            _tTransRepository.DbContext.CommitTransaction();

            _tTransRefRepository.DbContext.BeginTransaction();
            TTransRef detToInsert;

            foreach (TTransRef det in ListTransRef)
            {
                detToInsert = new TTransRef();
                detToInsert.SetAssignedIdTo(det.Id);
                detToInsert.TransId        = Trans;
                detToInsert.TransIdRef     = det.TransIdRef;
                detToInsert.TransRefDesc   = det.TransRefDesc;
                detToInsert.TransRefStatus = det.TransRefStatus;

                detToInsert.CreatedBy   = User.Identity.Name;
                detToInsert.CreatedDate = DateTime.Now;
                detToInsert.DataStatus  = EnumDataStatus.New.ToString();
                _tTransRefRepository.Save(detToInsert);
            }
            try
            {
                _tTransRefRepository.DbContext.CommitTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Success;
            }
            catch (Exception)
            {
                _tTransRefRepository.DbContext.RollbackTransaction();
                TempData[EnumCommonViewData.SaveState.ToString()] = EnumSaveState.Failed;
            }
            if (!Trans.TransStatus.Equals(EnumTransactionStatus.PurchaseOrder.ToString()))
            {
                return(RedirectToAction(Trans.TransStatus));
            }
            return(RedirectToAction("Index"));
        }
        public ActionResult Sales(TTrans Trans, FormCollection formCollection)
        {
            if (formCollection["btnPrint"] != null)
            {
                PrintSales(formCollection["Trans.Id"]);

                var e = new
                {
                    Success    = false,
                    Message    = "redirect",
                    RoomStatus = EnumTransRoomStatus.New.ToString()
                };
                return(Json(e, JsonRequestBehavior.AllowGet));
            }
            return(SaveTransaction(Trans, formCollection));
        }
        private void SaveJournal(TTrans trans, decimal totalHPP)
        {
            AbstractTransaction tr = null;

            //set class to its transaction
            if (trans.TransStatus.Equals(EnumTransactionStatus.Purchase.ToString()))
            {
                tr = new Purchase();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.Sales.ToString()))
            {
                tr = new Sales();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.Service.ToString()))
            {
                tr = new Service();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.ReturPurchase.ToString()))
            {
                tr = new ReturPurchase();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.ReturSales.ToString()))
            {
                tr = new ReturSales();
            }
            else if (trans.TransStatus.Equals(EnumTransactionStatus.Mutation.ToString()))
            {
                tr = new Mutation();
            }

            //return if no class specified
            if (tr == null)
            {
                return;
            }

            tr.UserName             = User.Identity.Name;
            tr.AccountRefRepository = _mAccountRefRepository;
            tr.JournalRepository    = _tJournalRepository;
            tr.JournalRefRepository = _tJournalRefRepository;
            tr.SaveJournal(trans, totalHPP);
        }
        protected TJournal SaveJournalHeader(string newVoucher, TTrans trans, string desc)
        {
            TJournal j = new TJournal();

            j.SetAssignedIdTo(Guid.NewGuid().ToString());
            j.CostCenterId      = trans.WarehouseId.CostCenterId;
            j.JournalType       = EnumJournalType.GeneralLedger.ToString();
            j.JournalVoucherNo  = newVoucher;
            j.JournalPic        = trans.TransBy;
            j.JournalDate       = trans.TransDate;
            j.JournalEvidenceNo = trans.TransFactur;
            //j.JournalAmmount = ammount;
            j.JournalDesc = desc;

            j.DataStatus  = EnumDataStatus.New.ToString();
            j.CreatedBy   = UserName;
            j.CreatedDate = DateTime.Now;
            j.JournalDets.Clear();
            return(j);
        }
        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);
        }
示例#16
0
        private void DeleteTransactionDetail(TTrans Trans, bool addStock, bool calculateStock, object[] detailIdList)
        {
            if (calculateStock)
            {
                IList <TTransDet> listDet = _tTransDetRepository.GetListById(detailIdList);
                foreach (TTransDet det in listDet)
                {
                    //undo stock
                    if (Trans.TransStatus.Equals(EnumTransactionStatus.Mutation.ToString()))
                    {
                        SaveStockItem(Trans.TransDate, "Hapus Detail" + Trans.TransFactur, det.ItemId, det.TransDetQty, !false, Trans.WarehouseId);
                        SaveStockItem(Trans.TransDate, "Hapus Detail" + Trans.TransFactur, 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
                        //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, "Hapus Detail" + Trans.TransFactur, det.ItemId, det.TransDetQty, !addStock, Trans.WarehouseId);

                        if (addStock)
                        {
                            //set stock as out stock
                            UpdateStock(Trans.TransDate, "Hapus Detail" + Trans.TransFactur, Trans.TransStatus, det.ItemId, det.TransDetPrice, det.TransDetQty, det, false, Trans.WarehouseId);
                        }
                    }
                }

                //delete stock ref for not add stock
                if (!addStock)
                {
                    _tStockRefRepository.DeleteByTransDetId(detailIdList);
                }
            }

            //delete detail
            _tTransDetRepository.DeleteById(detailIdList);
        }
示例#17
0
        public override void SaveJournal(TTrans trans, decimal totalHPP)
        {
            //string desc = string.Format("Penerimaan Stok dari {0}", trans.TransBy);
            //string newVoucher = Helper.CommonHelper.GetVoucherNo(false);
            ////delete journal first
            //DeleteJournal(EnumReferenceTable.Transaction, trans.TransStatus, trans.Id);
            ////save header of journal
            //TJournal journal = SaveJournalHeader(trans.WarehouseId.CostCenterId, newVoucher, trans.TransBy, trans.TransDate, trans.TransFactur, desc);
            //MAccountRef accountRef = null;

            ////save persediaan
            //accountRef = AccountRefRepository.GetByRefTableId(EnumReferenceTable.Warehouse, trans.WarehouseId.Id);
            //SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.D, totalHPP, trans.TransFactur, desc);

            ////save ikhtiar LR
            //SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetHppAccount(), EnumJournalStatus.K, totalHPP, trans.TransFactur, desc);

            //JournalRepository.Save(journal);

            ////save journal ref
            //SaveJournalRef(journal, trans.Id, trans.TransStatus, trans.TransDesc);
        }
示例#18
0
        private static ReportDataSource GetTrans(TTrans trans)
        {
            IList <TTrans> listTrans = new List <TTrans>();

            listTrans.Add(trans);
            var list = from det in listTrans
                       select new
            {
                det.TransFactur,
                det.TransDate,
                det.TransSubTotal,
                det.TransBy,
                det.TransDesc,
                det.TransDiscount,
                det.TransStatus,
                EmployeeId   = det.EmployeeId.Id,
                EmployeeName = det.EmployeeId.PersonId.PersonName
            }
            ;
            ReportDataSource reportDataSource = new ReportDataSource("TransViewModel", list.ToList());

            return(reportDataSource);
        }
示例#19
0
        public override void SaveJournal(TTrans trans, decimal totalHPP)
        {
            string desc       = string.Format("Penjualan barang kepada {0}", trans.TransBy);
            string newVoucher = Helper.CommonHelper.GetVoucherNo(false);

            //delete journal first
            DeleteJournal(EnumReferenceTable.Transaction, trans.TransStatus, trans.Id);
            //save header of journal
            TJournal    journal    = SaveJournalHeader(trans.WarehouseId.CostCenterId, newVoucher, trans.TransBy, trans.TransDate, trans.TransFactur, desc);
            MAccountRef accountRef = null;

            if (trans.TransPaymentMethod == EnumPaymentMethod.Tunai.ToString())
            {
                //save cash
                SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetCashAccount(), EnumJournalStatus.D, trans.TransGrandTotal.Value, trans.TransFactur, desc);
            }
            else
            {
                accountRef = AccountRefRepository.GetByRefTableId(EnumReferenceTable.Customer, trans.TransBy);
                //save piutang
                SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.D, trans.TransGrandTotal.Value, trans.TransFactur, desc);
            }
            //save penjualan
            SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetSalesAccount(), EnumJournalStatus.K, trans.TransGrandTotal.Value, trans.TransFactur, desc);

            //save ikhtiar LR
            SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetIkhtiarLRAccount(), EnumJournalStatus.D, totalHPP, trans.TransFactur, desc);

            //save persediaan
            accountRef = AccountRefRepository.GetByRefTableId(EnumReferenceTable.Warehouse, trans.WarehouseId.Id);
            SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.K, totalHPP, trans.TransFactur, desc);

            JournalRepository.Save(journal);

            //save journal ref
            SaveJournalRef(journal, trans.Id, trans.TransStatus, trans.TransDesc);
        }
示例#20
0
        private ActionResult SaveTransactionInterface(TTrans Trans, FormCollection formCollection)
        {
            if (formCollection["btnSave"] != null)
            {
                return(SaveTransaction(Trans, formCollection, false));
            }
            else if (formCollection["btnDelete"] != null)
            {
                return(SaveTransaction(Trans, formCollection, true));
            }
            else if (formCollection["btnPrint"] != null)
            {
                SetReportDataForPrint(formCollection["Trans.Id"]);

                var e = new
                {
                    Success = false,
                    Message = "redirect"
                };
                return(Json(e, JsonRequestBehavior.AllowGet));
            }

            return(View());
        }
示例#21
0
        public ActionResult GetJsonTrans(string transId)
        {
            TTrans trans = _tTransRepository.Get(transId);

            ConvertListDet(trans.TransDets.ToList());

            //set new array list for delete id
            //to prevent deleted id before
            ListDeleteDetailTrans = new ArrayList();

            var t = new
            {
                TransId = trans.Id,
                trans.TransDate,
                trans.TransDueDate,
                trans.TransFactur,
                WarehouseId = trans.WarehouseId != null ? trans.WarehouseId.Id : null,
                trans.TransPaymentMethod,
                trans.TransBy,
                WarehouseIdTo = trans.WarehouseIdTo != null ? trans.WarehouseIdTo.Id : null
            };

            return(Json(t, JsonRequestBehavior.AllowGet));
        }
示例#22
0
        private void SetReportDataForPrint(string TransId)
        {
            ReportDataSource[] repCol = new ReportDataSource[1];
            TTrans             trans  = _tTransRepository.Get(TransId);

            IList <TTransDet> listDetail = trans.TransDets;
            var listDet = from det in listDetail
                          select new TransTotalViewModel
            {
                ItemId          = det.ItemId != null ? det.ItemId.Id : null,
                ItemName        = det.ItemId != null ? det.ItemId.ItemName : null,
                TransDetPrice   = det.TransDetPrice,
                TransDetQty     = det.TransDetQty,
                TransDetDisc    = det.TransDetDisc,
                TransDetNo      = det.TransDetNo,
                TransDetTotal   = det.TransDetTotal,
                CustomerName    = Helper.CommonHelper.GetCustomerName(_mCustomerRepository, trans.TransBy),
                TransFactur     = trans.TransFactur,
                TransDate       = trans.TransDate,
                TransBy         = trans.TransBy,
                TransGrandTotal = trans.TransGrandTotal
            }
            ;
            int addManual = listDetail.Count % 10;
            var list      = listDet.ToList();

            for (int i = 0; i < 10 - addManual; i++)
            {
                list.Add(new TransTotalViewModel());
            }
            ReportDataSource reportDataSource = new ReportDataSource("TransTotalViewModel", list);

            repCol[0] = reportDataSource;

            Session["ReportData"] = repCol;
        }
示例#23
0
        public override void SaveJournal(TTrans trans, decimal totalHPP)
        {
            string desc       = string.Format("Pemakaian material untuk {0}", trans.JobTypeId.JobTypeName);
            string newVoucher = Helper.CommonHelper.GetVoucherNo(false);

            //delete journal first
            DeleteJournal(EnumReferenceTable.Transaction, trans.TransStatus, trans.Id);
            //save header of journal
            TJournal    journal    = SaveJournalHeader(trans.WarehouseId.CostCenterId, newVoucher, trans.TransBy, trans.TransDate, trans.TransFactur, desc);
            MAccountRef accountRef = null;

            ////save biaya pemakaian
            //accountRef = AccountRefRepository.GetByRefTableId(EnumReferenceTable.JobType, trans.JobTypeId.Id);
            //SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.D, totalHPP, trans.TransFactur, desc);

            ////save persediaan
            //accountRef = AccountRefRepository.GetByRefTableId(EnumReferenceTable.Warehouse, trans.WarehouseId.Id);
            //SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.K, totalHPP, trans.TransFactur, desc);

            JournalRepository.Save(journal);

            //save journal ref
            SaveJournalRef(journal, trans.Id, trans.TransStatus, trans.TransDesc);
        }
        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");
        }
示例#27
0
 public override void SaveJournal(TTrans trans, decimal totalHPP)
 {
 }
        protected void SaveJournalDet(TJournal journal, string newVoucher, MAccount accountId, EnumJournalStatus journalStatus, decimal ammount, TTrans trans, string desc)
        {
            TJournalDet detToInsert = new TJournalDet(journal);

            detToInsert.SetAssignedIdTo(Guid.NewGuid().ToString());
            detToInsert.AccountId            = accountId;
            detToInsert.JournalDetStatus     = journalStatus.ToString();
            detToInsert.JournalDetEvidenceNo = trans.TransFactur;
            detToInsert.JournalDetAmmount    = ammount;
            detToInsert.JournalDetNo         = 0;
            detToInsert.JournalDetDesc       = desc;
            detToInsert.CreatedBy            = UserName;
            detToInsert.CreatedDate          = DateTime.Now;
            detToInsert.DataStatus           = Enums.EnumDataStatus.New.ToString();
            journal.JournalDets.Add(detToInsert);
        }
 public abstract void SaveJournal(TTrans trans, decimal totalHPP);
        public ActionResult Report(EnumReports reports, ReportParamViewModel viewModel, FormCollection formCollection)
        {
            ReportDataSource[] repCol = new ReportDataSource[1];
            switch (reports)
            {
            case EnumReports.RptBrand:
                repCol[0] = GetBrand();
                break;

            case EnumReports.RptCostCenter:
                repCol[0] = GetCostCenter();
                break;

            case EnumReports.RptJournal:
                repCol[0] = GetJournalDet(viewModel.DateFrom, viewModel.DateTo, viewModel.CostCenterId);
                break;

            case EnumReports.RptNeraca:
                repCol[0] = GetRecAccount(EnumAccountCatType.NERACA, viewModel.CostCenterId, viewModel.RecPeriodId);
                break;

            case EnumReports.RptLR:
                repCol[0] = GetRecAccount(EnumAccountCatType.LR, viewModel.CostCenterId, viewModel.RecPeriodId);
                break;

            case EnumReports.RptStockCard:
                repCol[0] = GetStockCard(viewModel.DateFrom, viewModel.DateTo, viewModel.ItemId, viewModel.WarehouseId);
                break;

            case EnumReports.RptStockItem:
                repCol[0] = GetStockItem(viewModel.ItemId, viewModel.WarehouseId);
                break;

            case EnumReports.RptAnalyzeBudgetDetail:
                repCol[0] = GetTransDetForBudget(viewModel.ItemId, viewModel.WarehouseId);
                break;

            case EnumReports.RptPrintFacturService:
                repCol = new ReportDataSource[3];
                TTrans trans = _tTransRepository.Get(viewModel.TransId);
                repCol[0] = GetTrans(trans);
                repCol[1] = GetTransDet(trans.TransDets);
                repCol[2] = GetTransRoom(viewModel.TransId);
                break;

            case EnumReports.RptServiceOmzet:
                repCol = new ReportDataSource[2];
                TShift s = _tShiftRepository.GetByDateAndShiftNo(viewModel.DateFrom, viewModel.ShiftNo);
                repCol[0] = GetShiftViewModel(s);
                repCol[1] = GetServiceOmzet(s.ShiftDateFrom, s.ShiftDateTo);
                break;

            case EnumReports.RptCommissionRecap:
                repCol[0] = GetTransDetByDate(viewModel.DateFrom, viewModel.DateTo);
                break;

            case EnumReports.RptCommission:
                repCol[0] = GetTransDetByDate(viewModel.DateFrom, viewModel.DateTo);
                break;

            case EnumReports.RptCustomerBirthday:
                repCol[0] = GetCustomerBirthday(viewModel.DateFrom, viewModel.DateTo);
                break;
            }
            Session["ReportData"] = repCol;

            var e = new
            {
                Success   = true,
                Message   = "redirect",
                UrlReport = string.Format("{0}", reports.ToString())
            };

            return(Json(e, JsonRequestBehavior.AllowGet));
            //string reportType = formCollection["ExportFormat"];
            //string mimeType, encoding, fileNameExtension;

            ////The DeviceInfo settings should be changed based on the reportType
            ////http://msdn2.microsoft.com/en-us/library/ms155397.aspx

            //string deviceInfo =
            //"<DeviceInfo>" +
            //string.Format("  <OutputFormat>{0}</OutputFormat>", formCollection["ExportFormat"]) +
            //"  <PageWidth>8.5in</PageWidth>" +
            //"  <PageHeight>11in</PageHeight>" +
            //"  <MarginTop>0.5in</MarginTop>" +
            //"  <MarginLeft>0.5in</MarginLeft>" +
            //"  <MarginRight>0.5in</MarginRight>" +
            //"  <MarginBottom>0.5in</MarginBottom>" +
            //"</DeviceInfo>";

            //Warning[] warnings;
            //string[] streams;
            //byte[] renderedBytes;

            ////Render the report
            //renderedBytes = localReport.Render(
            //    reportType,
            //    deviceInfo,
            //    out mimeType,
            //    out encoding,
            //    out fileNameExtension,
            //    out streams,
            //    out warnings);

            //Response.AddHeader("content-disposition", string.Format("attachment; filename={0}.{1}", reports.ToString(), fileNameExtension));

            //return File(renderedBytes, mimeType);
        }