Ejemplo n.º 1
0
        /// <summary>
        /// Gets the receipt vouchers.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public ReceiptVoucherResponse GetReceiptVouchers(ReceiptVoucherRequest request)
        {
            var response = new ReceiptVoucherResponse();

            if (request.LoadOptions.Contains("ReceiptVouchers"))
            {
                response.ReceiptVouchers = ReceiptVoucherDao.GetReceiptVouchers();
            }
            if (request.LoadOptions.Contains("ReceiptVoucher"))
            {
                var receiptVoucher = ReceiptVoucherDao.GetReceiptVoucher(request.ReceiptVoucherID);
                if (request.LoadOptions.Contains("IncludeDetail"))
                {
                    receiptVoucher = receiptVoucher ?? new ReceiptVoucherEntity();
                    receiptVoucher.ReceiptVoucherDetails = ReceiptVoucherDetailDao.GetReceiptVoucherDetailsByMaster(receiptVoucher.ReceiptVoucherID);
                }
                response.ReceiptVoucher = receiptVoucher;
            }

            return(response);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Sets the receipt vouchers.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <returns></returns>
        public ReceiptVoucherResponse SetReceiptVouchers(ReceiptVoucherRequest request)
        {
            var response = new ReceiptVoucherResponse();

            var receiptVoucherEntity = request.ReceiptVoucher;

            if (request.Action != PersistType.Delete)
            {
                if (!receiptVoucherEntity.Validate())
                {
                    foreach (string error in receiptVoucherEntity.ValidationErrors)
                    {
                        response.Message += error + Environment.NewLine;
                    }
                    response.Acknowledge = AcknowledgeType.Failure;
                    return(response);
                }
            }
            try
            {
                if (request.Action == PersistType.Insert)
                {
                    using (var scope = new TransactionScope())
                    {
                        receiptVoucherEntity.ReceiptVoucherID = ReceiptVoucherDao.InsertReceiptVoucher(receiptVoucherEntity);
                        foreach (var receiptVoucherDetail in receiptVoucherEntity.ReceiptVoucherDetails)
                        {
                            if (!receiptVoucherDetail.Validate())
                            {
                                foreach (string error in receiptVoucherDetail.ValidationErrors)
                                {
                                    response.Message += error + Environment.NewLine;
                                }
                                response.Acknowledge = AcknowledgeType.Failure;
                                return(response);
                            }
                            receiptVoucherDetail.ReceiptVoucherID = receiptVoucherEntity.ReceiptVoucherID;
                            ReceiptVoucherDetailDao.InsertReceiptVoucherDetail(receiptVoucherDetail);
                        }
                        var autoNumber = AutoNumberDao.GetAutoNumberByRefType(200);
                        autoNumber.Value += 1;
                        response.Message  = AutoNumberDao.UpdateAutoNumber(autoNumber);
                        if (response.Message != null)
                        {
                            response.Acknowledge = AcknowledgeType.Failure;
                            scope.Dispose();
                            return(response);
                        }
                        scope.Complete();
                    }
                }
                else if (request.Action == PersistType.Update)
                {
                    using (var scope = new TransactionScope())
                    {
                        //delete detail
                        response.Message = ReceiptVoucherDetailDao.DeleteReceiptVoucherDetailByMaster(receiptVoucherEntity.ReceiptVoucherID);
                        if (response.Message != null)
                        {
                            response.Acknowledge = AcknowledgeType.Failure;
                            scope.Dispose();
                            return(response);
                        }
                        response.Message = ReceiptVoucherDao.UpdateReceiptVoucher(receiptVoucherEntity);
                        if (response.Message != null)
                        {
                            response.Acknowledge = AcknowledgeType.Failure;
                            scope.Dispose();
                            return(response);
                        }
                        foreach (var receiptVoucherDetail in receiptVoucherEntity.ReceiptVoucherDetails)
                        {
                            if (!receiptVoucherDetail.Validate())
                            {
                                foreach (string error in receiptVoucherDetail.ValidationErrors)
                                {
                                    response.Message += error + Environment.NewLine;
                                }
                                response.Acknowledge = AcknowledgeType.Failure;
                                return(response);
                            }
                            receiptVoucherDetail.ReceiptVoucherID = receiptVoucherEntity.ReceiptVoucherID;
                            ReceiptVoucherDetailDao.InsertReceiptVoucherDetail(receiptVoucherDetail);
                        }
                        scope.Complete();
                    }
                }
                else
                {
                    var receiptVoucherEntityForDelete = ReceiptVoucherDao.GetReceiptVoucher(request.ReceiptVoucherID);
                    response.Message = ReceiptVoucherDao.DeleteReceiptVoucher(receiptVoucherEntityForDelete);
                }
            }
            catch (Exception ex)
            {
                response.Acknowledge = AcknowledgeType.Failure;
                response.Message     = ex.Message;
                return(response);
            }

            response.ReceiptVoucherID = receiptVoucherEntity != null ? receiptVoucherEntity.ReceiptVoucherID : 0;
            response.Acknowledge      = response.Message != null ? AcknowledgeType.Failure : AcknowledgeType.Success;
            return(response);
        }