Ejemplo n.º 1
0
        public ActionResult Insert(TTransDet viewModel, FormCollection formCollection, bool IsAddStock, string warehouseId)
        {
            //format numeric
            UpdateNumericData(viewModel, formCollection);
            //
            MItem item = _mItemRepository.Get(formCollection["ItemId"]);

            //check stock is enough or not if no add stock
            //return Content(IsAddStock.ToString());
            if (!IsAddStock)
            {
                MWarehouse warehouse    = _mWarehouseRepository.Get(warehouseId);
                bool       isStockValid = Helper.CommonHelper.CheckStock(warehouse, item, viewModel.TransDetQty);
                if (!isStockValid)
                {
                    return(Content("Kuantitas barang tidak cukup"));
                }
            }

            TTransDet transDetToInsert = new TTransDet();

            TransferFormValuesTo(transDetToInsert, viewModel);
            transDetToInsert.SetAssignedIdTo(Guid.NewGuid().ToString());
            transDetToInsert.ItemId = item;
            transDetToInsert.SetAssignedIdTo(viewModel.Id);
            transDetToInsert.CreatedDate = DateTime.Now;
            transDetToInsert.CreatedBy   = User.Identity.Name;
            transDetToInsert.DataStatus  = EnumDataStatus.New.ToString();

            ListDetTrans.Add(transDetToInsert);
            return(Content("success"));
        }
Ejemplo n.º 2
0
        private ReportDataSource GetTransDetForBudget(string itemId, string warehouseId, DateTime dateFrom, DateTime dateTo)
        {
            IList <TTransDet> dets;
            MItem             item      = null;
            MWarehouse        warehouse = null;

            if (!string.IsNullOrEmpty(itemId))
            {
                item = _mItemRepository.Get(itemId);
            }
            if (!string.IsNullOrEmpty(warehouseId))
            {
                warehouse = _mWarehouseRepository.Get(warehouseId);
            }
            dets = _tTransDetRepository.GetByItemWarehouse(item, warehouse);

            var list = from det in dets
                       select new
            {
                det.TransDetNo,
                det.TransDetQty,
                det.TransDetDesc,
                det.TransDetTotal,
                det.TransDetPrice,
                det.TransDetDisc,
                ItemId = det.ItemId.Id,
                det.ItemId.ItemName,
                WarehouseId = det.TransId.WarehouseId.Id,
                det.TransId.WarehouseId.WarehouseName,
                TotalUsed        = _tTransDetRepository.GetTotalUsed(det.ItemId, det.TransId.WarehouseId, dateFrom, dateTo, EnumTransactionStatus.Using.ToString()),
                RealPercentValue = GetRealValue(det.TransId.WarehouseId.CostCenterId, dateFrom, dateTo)
            }
            ;

            ReportDataSource reportDataSource = new ReportDataSource("TransDetViewModel", list.ToList());

            return(reportDataSource);
        }
        public ActionResult Delete(MWarehouse viewModel, FormCollection formCollection)
        {
            MWarehouse mWarehouseToDelete = _mWarehouseRepository.Get(viewModel.Id);

            if (mWarehouseToDelete != null)
            {
                _mWarehouseRepository.Delete(mWarehouseToDelete);
                _refAddressRepository.Delete(mWarehouseToDelete.AddressId);
            }

            try
            {
                _mWarehouseRepository.DbContext.CommitChanges();
            }
            catch (Exception e)
            {
                _mWarehouseRepository.DbContext.RollbackTransaction();

                return(Content(e.GetBaseException().Message));
            }

            return(Content("success"));
        }
Ejemplo n.º 4
0
        private ReportDataSource GetTransDetForBudget(string itemId, string warehouseId)
        {
            IList <TTransDet> dets;
            MItem             item      = null;
            MWarehouse        warehouse = null;

            if (!string.IsNullOrEmpty(itemId))
            {
                item = _mItemRepository.Get(itemId);
            }
            if (!string.IsNullOrEmpty(warehouseId))
            {
                warehouse = _mWarehouseRepository.Get(warehouseId);
            }
            dets = _tTransDetRepository.GetByItemWarehouse(item, warehouse);

            var list = from det in dets
                       select new
            {
                det.TransDetNo,
                det.TransDetQty,
                det.TransDetDesc,
                det.TransDetTotal,
                det.TransDetPrice,
                det.TransDetDisc,
                ItemId = det.ItemId.Id,
                det.ItemId.ItemName,
                WarehouseId = det.TransId.WarehouseId.Id,
                det.TransId.WarehouseId.WarehouseName,
                TotalUsed = _tTransDetRepository.GetTotalUsed(det.ItemId, det.TransId.WarehouseId)
            }
            ;

            ReportDataSource reportDataSource = new ReportDataSource("TransDetViewModel", list.ToList());

            return(reportDataSource);
        }
Ejemplo n.º 5
0
        private ActionResult GetTotalQty(string itemId, string warehouseId, EnumTransactionStatus transactionStatus)
        {
            if (!string.IsNullOrEmpty(itemId) && !string.IsNullOrEmpty(warehouseId))
            {
                MItem      mItem     = _mItemRepository.Get(itemId);
                MWarehouse warehouse = _mWarehouseRepository.Get(warehouseId);
                decimal?   totalUsed = _tTransDetRepository.GetTotalUsed(mItem, warehouse, null, null, transactionStatus.ToString());
                if (totalUsed.HasValue)
                {
                    return(Content(totalUsed.Value.ToString(Helper.CommonHelper.NumberFormat)));
                }
            }

            return(Content("0"));
        }
Ejemplo n.º 6
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"));
        }