Beispiel #1
0
        public IList <TTransDet> GetListByDateAndCustomer(DateTime?dateFrom, DateTime?dateTo, EnumTransactionStatus transactionStatus, string customerId)
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendLine(@"   select det
                                from TTransDet as det
                                    left outer join det.TransId trans 
                                        where trans.TransStatus = :TransStatus");
            if (dateFrom.HasValue && dateTo.HasValue)
            {
                sql.AppendLine("and trans.TransDate between :dateFrom and :dateTo");
            }
            sql.AppendLine(@"and trans.TransBy like :customerId 
                             order by trans.TransDate ");
            IQuery q = Session.CreateQuery(sql.ToString());

            q.SetString("TransStatus", transactionStatus.ToString());
            if (dateFrom.HasValue)
            {
                q.SetDateTime("dateFrom", dateFrom.Value);
            }
            if (dateTo.HasValue)
            {
                q.SetDateTime("dateTo", dateTo.Value);
            }
            q.SetString("customerId", customerId);
            return(q.List <TTransDet>());
        }
Beispiel #2
0
        public static string GetFacturNo(EnumTransactionStatus transactionStatus, bool automatedIncrease)
        {
            TReference refer = GetReference((EnumReferenceType)Enum.Parse(typeof(EnumReferenceType), transactionStatus.ToString()));
            decimal    no    = Convert.ToDecimal(refer.ReferenceValue) + 1;

            //reset factur no to 1 every month
            //if (DateTime.Today.Day == 1 && refer.ModifiedDate < DateTime.Today)
            if (refer.ModifiedDate < DateTime.Today)
            {
                no = 1;
            }

            refer.ReferenceValue = no.ToString();
            if (automatedIncrease)
            {
                ITReferenceRepository referenceRepository = new TReferenceRepository();
                refer.ModifiedDate = DateTime.Now;
                referenceRepository.Update(refer);
                referenceRepository.DbContext.CommitChanges();
            }

            string tipeTrans = string.Empty;

            char[] charTransArray = transactionStatus.ToString().ToCharArray();
            char   charTrans;

            for (int i = 0; i < transactionStatus.ToString().Length; i++)
            {
                charTrans = charTransArray[i];
                if (char.IsUpper(transactionStatus.ToString(), i))
                {
                    tipeTrans += transactionStatus.ToString().Substring(i, 1);
                }
            }

            StringBuilder result = new StringBuilder();

            result.Append(CONST_FACTURFORMAT);
            result.Replace("[TRANS]", tipeTrans);
            result.Replace("[XXX]", GetFactur(5, no));
            result.Replace("[DAY]", DateTime.Today.Day.ToString());
            result.Replace("[MONTH]", DateTime.Today.ToString("MMM").ToUpper());
            result.Replace("[YEAR]", DateTime.Today.Year.ToString());
            return(result.ToString());
        }
Beispiel #3
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);
        }
Beispiel #4
0
        public IList <TTransDet> GetListByDate(DateTime dateFrom, DateTime dateTo, EnumTransactionStatus transactionStatus)
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendLine(@"   select det
                                from TTransDet as det
                                    left outer join det.TransId trans 
                                        where trans.TransStatus = :TransStatus and trans.TransDate between :dateFrom and :dateTo ");
            IQuery q = Session.CreateQuery(sql.ToString());

            q.SetString("TransStatus", transactionStatus.ToString());
            q.SetDateTime("dateFrom", dateFrom);
            q.SetDateTime("dateTo", dateTo);
            return(q.List <TTransDet>());
        }
        public static string GetFacturNo(EnumTransactionStatus transactionStatus, bool automatedIncrease)
        {
            TReference refer = GetReference((EnumReferenceType)Enum.Parse(typeof(EnumReferenceType), transactionStatus.ToString()));
            decimal    no    = Convert.ToDecimal(refer.ReferenceValue) + 1;

            refer.ReferenceValue = no.ToString();
            if (automatedIncrease)
            {
                ITReferenceRepository referenceRepository = new TReferenceRepository();
                referenceRepository.Update(refer);
                referenceRepository.DbContext.CommitChanges();
            }

            string tipeTrans = string.Empty;

            char[] charTransArray = transactionStatus.ToString().ToCharArray();
            char   charTrans;

            for (int i = 0; i < transactionStatus.ToString().Length; i++)
            {
                charTrans = charTransArray[i];
                if (char.IsUpper(transactionStatus.ToString(), i))
                {
                    tipeTrans += transactionStatus.ToString().Substring(i, 1);
                }
            }
            string        formatFactur = "GRAHA/[TRANS]/[XXX]/[MONTH]/[YEAR]";
            StringBuilder result       = new StringBuilder();

            result.Append(formatFactur);
            result.Replace("[TRANS]", tipeTrans);
            result.Replace("[XXX]", GetFactur(5, no));
            result.Replace("[MONTH]", DateTime.Today.ToString("MMM").ToUpper());
            result.Replace("[YEAR]", DateTime.Now.Year.ToString());
            return(result.ToString());
        }
Beispiel #6
0
        public IList <TTransDet> GetByDateWarehouse(DateTime?dateFrom, DateTime?dateTo, string warehouseId, EnumTransactionStatus transStatus)
        {
            StringBuilder sql = new StringBuilder();

            sql.AppendLine(
                @"   select det
                        from TTransDet as det
                            left outer join det.TransId trans
                        where det.DataStatus <> :dataStatus 
                            and trans.TransStatus = :TransStatus ");
            if (dateFrom.HasValue && dateTo.HasValue)
            {
                sql.AppendLine(@"   and trans.TransDate between :dateFrom and :dateTo");
            }
            if (!string.IsNullOrEmpty(warehouseId))
            {
                sql.AppendLine(@"   and trans.WarehouseId.Id = :warehouseId");
            }

            sql.AppendLine(@"   order by trans.TransDate, trans.TransFactur, det.TransDetNo ");

            IQuery q = Session.CreateQuery(sql.ToString());

            q.SetString("dataStatus", EnumDataStatus.Deleted.ToString());
            q.SetString("TransStatus", transStatus.ToString());
            if (dateFrom.HasValue && dateTo.HasValue)
            {
                q.SetDateTime("dateFrom", dateFrom.Value);
                q.SetDateTime("dateTo", dateTo.Value);
            }

            if (!string.IsNullOrEmpty(warehouseId))
            {
                q.SetString("warehouseId", warehouseId);
            }
            return(q.List <TTransDet>());
        }
Beispiel #7
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"));
        }
Beispiel #8
0
        private ReportDataSource GetTransTotalAndRef(DateTime?dateFrom, DateTime?dateTo, string supplierId, string warehouseId, EnumTransactionStatus transStatus)
        {
            Check.Require(transStatus != EnumTransactionStatus.None, "transStatus may not be None");
            IList dets = _tTransDetRepository.GetRefStockByDateWarehouseTransBy(dateFrom, dateTo, supplierId, warehouseId, transStatus.ToString());

            Array arr;
            IList <TransDetWithRef> listResult = new List <TransDetWithRef>();
            TransDetWithRef         detWithRef = new TransDetWithRef();

            for (int i = 0; i < dets.Count; i++)
            {
                arr = dets[i] as Array;
                if (arr != null)
                {
                    detWithRef             = new TransDetWithRef();
                    detWithRef.TransDet    = arr.GetValue(0) as TTransDet;
                    detWithRef.StockPrice  = arr.GetValue(1) as decimal?;
                    detWithRef.StockRefQty = arr.GetValue(2) as decimal?;
                    listResult.Add(detWithRef);
                }
            }

            string TransName = Helper.CommonHelper.GetStringValue(transStatus);
            var    list      = from det in listResult
                               select new
            {
                det.TransDet.Id,
                det.TransDet.TransDetNo,
                det.TransDet.TransDetQty,
                det.TransDet.TransDetDesc,
                det.TransDet.TransDetTotal,
                det.TransDet.TransDetPrice,
                det.TransDet.TransDetDisc,
                ItemId = det.TransDet.ItemId.Id,
                det.TransDet.ItemId.ItemName,
                SupplierName = det.TransDet.TransId.TransBy,
                CustomerName = det.TransDet.TransId.TransBy,
                det.TransDet.TransId.TransFactur,
                det.TransDet.TransId.TransDate,
                WarehouseId = det.TransDet.TransId.WarehouseId.Id,
                det.TransDet.TransId.WarehouseId.WarehouseName,
                WarehouseToName =
                    det.TransDet.TransId.WarehouseIdTo != null ? det.TransDet.TransId.WarehouseIdTo.WarehouseName : null,
                det.TransDet.TransId.TransStatus,
                det.TransDet.TransId.TransDesc,
                det.TransDet.TransId.TransSubTotal,
                det.TransDet.TransId.TransPaymentMethod,
                TransId           = det.TransDet.TransId.Id,
                ViewWarehouse     = SetView(det.TransDet.TransId.TransStatus, EnumViewTrans.ViewWarehouse),
                ViewWarehouseTo   = SetView(det.TransDet.TransId.TransStatus, EnumViewTrans.ViewWarehouseTo),
                ViewSupplier      = SetView(det.TransDet.TransId.TransStatus, EnumViewTrans.ViewSupplier),
                ViewDate          = SetView(det.TransDet.TransId.TransStatus, EnumViewTrans.ViewDate),
                ViewFactur        = SetView(det.TransDet.TransId.TransStatus, EnumViewTrans.ViewFactur),
                ViewPrice         = SetView(det.TransDet.TransId.TransStatus, EnumViewTrans.ViewPrice),
                ViewPaymentMethod =
                    SetView(det.TransDet.TransId.TransStatus, EnumViewTrans.ViewPaymentMethod),
                TransName,
                StockRefPrice = det.StockPrice,
                det.StockRefQty
            }
            ;

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

            return(reportDataSource);
        }
Beispiel #9
0
        private ReportDataSource GetTransTotal(DateTime?dateFrom, DateTime?dateTo, string supplierId, string warehouseId, EnumTransactionStatus transStatus)
        {
            Check.Require(transStatus != EnumTransactionStatus.None, "transStatus may not be None");
            IList <TTransDet> dets = _tTransDetRepository.GetByDateWarehouseTransBy(dateFrom, dateTo, supplierId, warehouseId, transStatus.ToString());

            return(ConvertToReportDatasource(dets, transStatus));
        }
Beispiel #10
0
        private ReportDataSource GetTransDetail(DateTime?dateFrom, DateTime?dateTo, string warehouseId, EnumTransactionStatus transStatus)
        {
            Check.Require(transStatus != EnumTransactionStatus.None, "transStatus may not be None");
            IList <TTransDet> dets = _tTransDetRepository.GetByDateWarehouseTransBy(dateFrom, dateTo, string.Empty, warehouseId, transStatus.ToString());

            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
            }
            ;

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

            return(reportDataSource);
        }