Ejemplo n.º 1
0
        public bool Update(WAMS_PURCHASE_ORDER entity, List<V3_Pe_Detail_Data> entityDetails, string lstDeleteDetailItem)
        {
            _repository.Update(entity);
            foreach (var detail in entityDetails)
            {
                if (detail.Id != 0)
                {
                    var detailEntity = _repositoryDetail.GetByKey(detail.Id);
                    detailEntity.vProductID = detail.StockId;
                    detailEntity.fQuantity = decimal.Parse(detail.Quantity, new CultureInfo(Constants.MyCultureInfo));
                    detailEntity.PriceId = detail.Price_Id;
                    detailEntity.fUnitPrice = decimal.Parse(detail.UnitPrice, new CultureInfo(Constants.MyCultureInfo));
                    detailEntity.iDiscount = int.Parse(detail.Discount, new CultureInfo(Constants.MyCultureInfo));
                    detailEntity.fVAT = int.Parse(detail.VAT, new CultureInfo(Constants.MyCultureInfo));
                    detailEntity.fItemTotal = decimal.Parse(detail.ItemTotal, new CultureInfo(Constants.MyCultureInfo));
                    detailEntity.vRemark = detail.Remark;
                    detailEntity.dModified = DateTime.Now;
                    detailEntity.iModified = entity.iModified;
                    _repositoryDetail.Update(detailEntity);
                }
                else
                {
                    var detailEntity = new WAMS_PO_DETAILS
                    {
                        vPOID = entity.Id,
                        vMRF = detail.MRFId,
                        iDiscount = int.Parse(detail.Discount, new CultureInfo(Constants.MyCultureInfo)),
                        vProductID = detail.StockId,
                        fQuantity = decimal.Parse(detail.Quantity, new CultureInfo(Constants.MyCultureInfo)),
                        fVAT = int.Parse(detail.VAT, new CultureInfo(Constants.MyCultureInfo)),
                        fItemTotal = decimal.Parse(detail.ItemTotal, new CultureInfo(Constants.MyCultureInfo)),
                        vRemark = detail.Remark,
                        vPODetailStatus = "Open",
                        fUnitPrice = decimal.Parse(detail.UnitPrice, new CultureInfo(Constants.MyCultureInfo)),
                        PriceId = detail.Price_Id,
                        iEnable = true,
                        dDateAssign = entity.dCreated,
                        dCreated = entity.dCreated,
                        iCreated = entity.iCreated
                    };
                    _repositoryDetail.Add(detailEntity);
                }
            }

            if (!string.IsNullOrEmpty(lstDeleteDetailItem))
            {
                var listStrLineElements = lstDeleteDetailItem.Split(';').ToList();
                foreach (var itemDetail in listStrLineElements)
                {
                    _customRepository.DeleteDetail(Convert.ToInt32(itemDetail));
                }
            }
            _unitOfWork.CommitChanges();
            // Update Total PE
            _customRepository.UpdatePeTotal(entity.Id);

            // Insert New Payment Type
            _customRepository.UpdatePaymentType(entity.vTermOfPayment);
            return true;
        }
Ejemplo n.º 2
0
        public bool Insert(WAMS_PURCHASE_ORDER entity, List<V3_Pe_Detail_Data> entityDetails)
        {
            _repository.Add(entity);
            _unitOfWork.CommitChanges();
            var listRequisitionUpdate = new List<PeRequisitionUpdate>();
            foreach (var detail in entityDetails)
            {
                var detailEntity = new WAMS_PO_DETAILS
                {
                    vPOID = entity.Id,
                    vMRF = detail.MRFId,
                    iDiscount = int.Parse(detail.Discount, new CultureInfo(Constants.MyCultureInfo)),
                    vProductID = detail.StockId,
                    fQuantity = decimal.Parse(detail.Quantity, new CultureInfo(Constants.MyCultureInfo)),
                    fVAT = int.Parse(detail.VAT, new CultureInfo(Constants.MyCultureInfo)),
                    fItemTotal = decimal.Parse(detail.ItemTotal, new CultureInfo(Constants.MyCultureInfo)),
                    vRemark = detail.Remark,
                    vPODetailStatus = "Open",
                    fUnitPrice = decimal.Parse(detail.UnitPrice, new CultureInfo(Constants.MyCultureInfo)),
                    PriceId = detail.Price_Id,
                    iEnable = true,
                    dDateAssign = entity.dCreated,
                    dCreated = entity.dCreated,
                    iCreated = entity.iCreated
                };
                _repositoryDetail.Add(detailEntity);
                var listMrf = detail.MRFId.Split(';').ToList();
                listRequisitionUpdate.AddRange(listMrf.Select(mrf => new PeRequisitionUpdate
                {
                    Mrf = Convert.ToInt32(mrf), Stock = detail.StockId, Quantity = decimal.Parse(detail.Quantity, new CultureInfo(Constants.MyCultureInfo))
                }));
            }
            _unitOfWork.CommitChanges();
            // Update Total PE

            // Update Requisition : Store insert PO
            foreach (var requistionUpdate in listRequisitionUpdate)
            {
                _customRepository.UpdateRequisition(requistionUpdate.Mrf, requistionUpdate.Stock, requistionUpdate.Quantity);
            }

            _customRepository.UpdatePeTotal(entity.Id);
            // Insert New Payment Type
            _customRepository.UpdatePaymentType(entity.vTermOfPayment);
            return true;
        }