public static TransactionFormViewModel Create(EnumTransactionStatus enumTransactionStatus, ITTransRepository transRepository, IMWarehouseRepository mWarehouseRepository, IMSupplierRepository mSupplierRepository, IMUnitTypeRepository mUnitTypeRepository, IMJobTypeRepository mJobTypeRepository)
        {
            TransactionFormViewModel viewModel = new TransactionFormViewModel();
            TTrans trans = SetNewTrans(enumTransactionStatus);

            viewModel.Trans = trans;
            Helper.CommonHelper.SetViewModelByStatus(viewModel, enumTransactionStatus);

            viewModel.TransFactur   = trans.TransFactur;
            viewModel.TransDate     = trans.TransDate;
            viewModel.TransId       = trans.Id;
            viewModel.TransStatus   = trans.TransStatus;
            viewModel.WarehouseId   = trans.WarehouseId;
            viewModel.WarehouseIdTo = trans.WarehouseIdTo;
            viewModel.UnitTypeId    = trans.UnitTypeId;
            viewModel.JobTypeId     = trans.JobTypeId;
            viewModel.TransDesc     = trans.TransDesc;

            IList <MWarehouse> list       = mWarehouseRepository.GetAll();
            MWarehouse         mWarehouse = new MWarehouse();

            mWarehouse.WarehouseName = "-Pilih Gudang-";
            list.Insert(0, mWarehouse);
            viewModel.WarehouseList   = new SelectList(list, "Id", "WarehouseName");
            viewModel.WarehouseToList = new SelectList(list, "Id", "WarehouseName");

            IList <MSupplier> listSupplier = mSupplierRepository.GetAll();
            MSupplier         mSupplier    = new MSupplier();

            mSupplier.SupplierName = "-Pilih Supplier-";
            listSupplier.Insert(0, mSupplier);
            viewModel.SupplierList = new SelectList(listSupplier, "Id", "SupplierName");

            IList <MUnitType> listUnitType = mUnitTypeRepository.GetAll();
            MUnitType         mUnitType    = new MUnitType();

            mUnitType.UnitTypeName = "-Pilih Unit-";
            listUnitType.Insert(0, mUnitType);
            viewModel.UnitTypeList = new SelectList(listUnitType, "Id", "UnitTypeName");

            IList <MJobType> listJobType = mJobTypeRepository.GetAll();
            MJobType         mJobType    = new MJobType();

            mJobType.JobTypeName = "-Pilih Jenis Pekerjaan-";
            listJobType.Insert(0, mJobType);
            viewModel.JobTypeList = new SelectList(listJobType, "Id", "JobTypeName");

            //fill payment method
            var values = from EnumPaymentMethod e in Enum.GetValues(typeof(EnumPaymentMethod))
                         select new { ID = e, Name = e.ToString() };

            viewModel.PaymentMethodList = new SelectList(values, "Id", "Name");

            //viewModel.ViewWarehouseTo = false;
            //viewModel.ViewSupplier = false;
            //viewModel.ViewDate = false;
            //viewModel.ViewFactur = false;

            return(viewModel);
        }
Ejemplo n.º 2
0
        public static ReportParamViewModel CreateReportParamViewModel(IMCostCenterRepository mCostCenterRepository, IMWarehouseRepository mWarehouseRepository, IMSupplierRepository mSupplierRepository, ITRecPeriodRepository tRecPeriodRepository, IMItemRepository mItemRepository)
        {
            ReportParamViewModel viewModel = new ReportParamViewModel();

            IList <MCostCenter> list       = mCostCenterRepository.GetAll();
            MCostCenter         costCenter = new MCostCenter();

            costCenter.CostCenterName = "-Semua Cost Center-";
            list.Insert(0, costCenter);
            viewModel.CostCenterList = new SelectList(list, "Id", "CostCenterName");

            IList <MWarehouse> listWarehouse = mWarehouseRepository.GetAll();
            MWarehouse         account       = new MWarehouse();

            account.WarehouseName = "-Semua Gudang-";
            listWarehouse.Insert(0, account);
            viewModel.WarehouseList = new SelectList(listWarehouse, "Id", "WarehouseName");

            IList <MSupplier> listSupplier = mSupplierRepository.GetAll();
            MSupplier         supplier     = new MSupplier();

            supplier.SupplierName = "-Semua Supplier-";
            listSupplier.Insert(0, supplier);
            viewModel.SupplierList = new SelectList(listSupplier, "Id", "SupplierName");

            IList <TRecPeriod> listRecPeriod = tRecPeriodRepository.GetAll();

            //TRecPeriod recPeriod = new TRecPeriod();
            //recPeriod.PeriodDesc = "-Pilih Period-";
            //listRecPeriod.Insert(0, recPeriod);
            viewModel.RecPeriodList = new SelectList(listRecPeriod, "Id", "PeriodDesc");

            IList <MItem> listItem = mItemRepository.GetAll();
            MItem         item     = new MItem();

            item.ItemName = "-Semua Item-";
            listItem.Insert(0, item);
            viewModel.ItemList = new SelectList(listItem, "Id", "ItemName");

            ArrayList arr = new ArrayList();

            for (int i = 1; i <= 5; i++)
            {
                var sel = new { Id = i };
                arr.Add(sel);
            }
            viewModel.ShiftNoList = new SelectList(arr, "Id", "Id");

            viewModel.DateFrom = DateTime.Today;
            viewModel.DateTo   = DateTime.Today;
            return(viewModel);
        }
        private void SaveJournalClosing(string closingId, DateTime?dateFrom, DateTime?dateTo)
        {
            IList <MWarehouse> listWarehouse = _mWarehouseRepository.GetAll();
            MAccountRef        accountRef;

            foreach (MWarehouse warehouse in listWarehouse)
            {
                string   newVoucher = Helper.CommonHelper.GetVoucherNo(false);
                TJournal journal    = new TJournal();
                journal.SetAssignedIdTo(Guid.NewGuid().ToString());
                journal.CostCenterId      = warehouse.CostCenterId;
                journal.JournalType       = EnumJournalType.GeneralLedger.ToString();
                journal.JournalVoucherNo  = newVoucher;
                journal.JournalPic        = User.Identity.Name;
                journal.JournalDate       = dateTo;
                journal.JournalEvidenceNo = closingId;
                //j.JournalAmmount = ammount;
                journal.JournalDesc = "Hitung HPP";

                journal.DataStatus  = EnumDataStatus.New.ToString();
                journal.CreatedBy   = User.Identity.Name;
                journal.CreatedDate = DateTime.Now;
                journal.JournalDets.Clear();

                //save persediaan awal
                decimal?totalStockAwal = _tStockRepository.GetTotalStockBeforeDate(warehouse.Id, dateFrom.Value.AddDays(-1));
                accountRef = _mAccountRefRepository.GetByRefTableId(EnumReferenceTable.Warehouse, warehouse.Id);
                SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.D, totalStockAwal, "Saldo Awal Periode");

                //save ikhtiar LR
                SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetHppAccount(), EnumJournalStatus.K, totalStockAwal, "Saldo Awal Periode");

                //save persediaan akhir
                decimal?totalLastStock = _tStockRepository.GetTotalStockBeforeDate(warehouse.Id, dateTo.Value);
                SaveJournalDet(journal, newVoucher, accountRef.AccountId, EnumJournalStatus.K, totalLastStock, "Saldo Akhir Periode");

                //save ikhtiar LR
                SaveJournalDet(journal, newVoucher, Helper.AccountHelper.GetHppAccount(), EnumJournalStatus.D, totalLastStock, "Saldo Akhir Periode");

                _tJournalRepository.Save(journal);
            }
        }
Ejemplo n.º 4
0
        public static TransactionFormViewModel CreateTransactionFormViewModel(EnumTransactionStatus enumTransactionStatus, ITTransRepository transRepository, IMWarehouseRepository mWarehouseRepository, IMSupplierRepository mSupplierRepository, IMCustomerRepository mCustomerRepository)
        {
            TransactionFormViewModel viewModel = new TransactionFormViewModel();

            viewModel.Trans = SetNewTrans(enumTransactionStatus);

            switch (enumTransactionStatus)
            {
            case EnumTransactionStatus.PurchaseOrder:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Order Pembelian";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = true;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPrice         = true;
                viewModel.ViewPaymentMethod = false;
                viewModel.TransByText       = "Supplier :";
                viewModel.TransByList       = GetSupplierList();
                viewModel.UsePrice          = EnumPrice.Purchase;
                break;

            case EnumTransactionStatus.Purchase:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Pembelian";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = true;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPrice         = true;
                viewModel.ViewPaymentMethod = true;
                viewModel.TransByText       = "Supplier :";
                viewModel.TransByList       = GetSupplierList();
                viewModel.UsePrice          = EnumPrice.Purchase;
                break;

            case EnumTransactionStatus.ReturPurchase:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Retur Pembelian";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = true;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPrice         = true;
                viewModel.ViewPaymentMethod = true;
                viewModel.TransByText       = "Supplier :";
                viewModel.TransByList       = GetSupplierList();
                viewModel.UsePrice          = EnumPrice.Purchase;
                break;

            case EnumTransactionStatus.Sales:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Penjualan";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = true;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPrice         = true;
                viewModel.ViewPaymentMethod = true;
                viewModel.TransByText       = "Konsumen :";
                viewModel.TransByList       = GetCustomerList();
                viewModel.UsePrice          = EnumPrice.Sale;
                break;

            case EnumTransactionStatus.ReturSales:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Retur Penjualan";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = true;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPrice         = true;
                viewModel.ViewPaymentMethod = true;
                viewModel.TransByText       = "Konsumen :";
                viewModel.TransByList       = GetCustomerList();
                viewModel.UsePrice          = EnumPrice.Sale;
                break;

            case EnumTransactionStatus.Using:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Pemakaian Material";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = false;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPrice         = false;
                viewModel.ViewPaymentMethod = false;
                viewModel.UsePrice          = EnumPrice.None;
                break;

            case EnumTransactionStatus.Mutation:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Mutasi Stok";
                viewModel.ViewWarehouseTo   = true;
                viewModel.ViewTransBy       = false;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPrice         = false;
                viewModel.ViewPaymentMethod = false;
                viewModel.UsePrice          = EnumPrice.None;
                break;

            case EnumTransactionStatus.Adjusment:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Penyesuaian Stok";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = false;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPrice         = false;
                viewModel.ViewPaymentMethod = false;
                viewModel.UsePrice          = EnumPrice.None;
                break;

            case EnumTransactionStatus.Received:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Penerimaan Stok";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = true;
                viewModel.ViewDate          = true;
                viewModel.ViewFactur        = true;
                viewModel.ViewPaymentMethod = false;
                viewModel.UsePrice          = EnumPrice.None;
                break;

            case EnumTransactionStatus.Budgeting:
                viewModel.ViewWarehouse     = true;
                viewModel.Title             = "Rencana Anggaran Belanja";
                viewModel.ViewWarehouseTo   = false;
                viewModel.ViewTransBy       = false;
                viewModel.ViewDate          = false;
                viewModel.ViewFactur        = false;
                viewModel.ViewPrice         = true;
                viewModel.ViewPaymentMethod = false;
                viewModel.UsePrice          = EnumPrice.Purchase;
                break;
            }

            //get if not add stock
            bool calculateStock = false;
            bool addStock       = false;

            GetIsCalculateStock(enumTransactionStatus, out addStock, out calculateStock);
            viewModel.IsAddStock = addStock;

            //fill warehouse if it visible
            if (viewModel.ViewWarehouse || viewModel.ViewWarehouseTo)
            {
                IList <MWarehouse> list       = mWarehouseRepository.GetAll();
                MWarehouse         mWarehouse = new MWarehouse();
                mWarehouse.WarehouseName = "-Pilih Gudang-";
                list.Insert(0, mWarehouse);
                viewModel.WarehouseList = new SelectList(list, "Id", "WarehouseName");
                if (viewModel.ViewWarehouseTo)
                {
                    viewModel.WarehouseToList = new SelectList(list, "Id", "WarehouseName");
                }
            }


            //IList<MSupplier> listSupplier = mSupplierRepository.GetAll();
            //MSupplier mSupplier = new MSupplier();
            //mSupplier.SupplierName = "-Pilih Supplier-";
            //listSupplier.Insert(0, mSupplier);
            //viewModel.SupplierList = new SelectList(listSupplier, "Id", "SupplierName");

            //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.PersonName };
            //viewModel.TransByList = new SelectList(custs, "Id", "Name");

            //fill payment method
            var values = from EnumPaymentMethod e in Enum.GetValues(typeof(EnumPaymentMethod))
                         select new { ID = e, Name = e.ToString() };

            viewModel.PaymentMethodList = new SelectList(values, "Id", "Name");

            //viewModel.MinusStock = GetIsCalculateStock(sta)
            return(viewModel);
        }