Exemplo n.º 1
0
 private static object[] Take(PUInvoiceEntity entity)
 {
     return(new object[]
     {
         "@RefID", entity.RefId,
         "@RefType", entity.RefType,
         "@RefDate", entity.RefDate,
         "@PostedDate", entity.PostedDate,
         "@RefNo", entity.RefNo,
         "@IncrementRefNo", entity.IncrementRefNo,
         "@AccountingObjectId", entity.AccountingObjectId,
         "@CompanyTaxCode", entity.CompanyTaxCode,
         "@AccountingObjectContactName", entity.AccountingObjectContactName,
         "@JournalMemo", entity.JournalMemo,
         "@TotalAmount", entity.TotalAmount,
         "@TotalTaxAmount", entity.TotalTaxAmount,
         "@TotalAmountOC", entity.TotalAmountOC,
         "@CurrencyCode", entity.CurrencyCode,
         "@ExchangeRate", entity.ExchangeRate,
     });
 }
Exemplo n.º 2
0
        //private List<BankInfo> banks;
        public List <PUInvoiceEntity> GetPUInvoices(string connectionString)
        {
            List <PUInvoiceEntity> buentity = new List <PUInvoiceEntity>();

            using (var context = new MISAEntity(connectionString))
            {
                var querry   = context.PUInvoiceDetails.ToList();
                var projects = context.Projects.ToList();
                //var currencys = context.CCies.ToList();
                var budgetsource = context.BudgetSources.ToList();
                var listitems    = context.ListItems.ToList();
                //var funds = context.Funds.ToList();
                var fundstructures   = context.FundStructures.ToList();
                var budgetproviders  = context.BudgetProvidences.ToList();
                var accountingobject = context.AccountingObjects.ToList();
                var projectexpenses  = context.ProjectExpenses.ToList();
                var activity         = context.Activities.ToList();
                var tasks            = context.Tasks.ToList();
                //var stocks = context.Stocks.ToList();
                var topics           = context.Topics.ToList();
                var fixedassets      = context.FixedAssets.ToList();
                var departments      = context.Departments.ToList();
                var purchasepurposes = context.PurchasePurposes.ToList();
                //var inventoryitems = context.InventoryItems.ToList();
                //banks = context.BankInfoes.ToList();
                var detailfixedassets = context.PUInvoiceDetailFixedAssets.ToList();
                var resultcontext     = context.PUInvoices.Where(x => x.RefType != 301).ToList();
                foreach (var result in resultcontext)
                {
                    var newresult = new PUInvoiceEntity();
                    newresult.RefId                       = result.RefID.ToString();
                    newresult.RefType                     = ConvRefType.ConvRefType(result.RefType);
                    newresult.RefDate                     = result.RefDate;
                    newresult.PostedDate                  = result.PostedDate;
                    newresult.RefNo                       = result.RefNo;
                    newresult.ParalellRefNo               = result.ParalellRefNo;
                    newresult.InwardRefNo                 = result.InwardRefNo;
                    newresult.IncrementRefNo              = result.IncrementRefNo;
                    newresult.AccountingObjectId          = result.AccountingObject == null ? null : result.AccountingObject.AccountingObjectID.ToString();
                    newresult.AccountingObjectName        = result.AccountingObjectName;
                    newresult.AccountingObjectAddress     = result.AccountingObjectAddress;
                    newresult.CompanyTaxCode              = result.CompanyTaxCode;
                    newresult.AccountingObjectContactName = result.AccountingObjectContactName;
                    newresult.JournalMemo                 = result.JournalMemo;
                    newresult.TotalAmount                 = result.TotalAmount;
                    newresult.TotalTaxAmount              = result.TotalTaxAmount;
                    newresult.TotalFreightAmount          = result.TotalFreightAmount;
                    newresult.TotalInwardAmount           = result.TotalInwardAmount;
                    newresult.Posted                      = result.Posted;
                    newresult.PostVersion                 = result.PostVersion ?? 0;
                    newresult.EditVersion                 = result.EditVersion ?? 0;
                    newresult.RefOrder                    = result.RefOrder ?? 0;
                    newresult.TotalFixedAssetAmount       = result.TotalFixedAssetAmount;
                    newresult.FARefOrder                  = result.FARefOrder;
                    //newresult.CurrencyCode = result.cuu;
                    //newresult.ExchangeRate = result.ex;
                    //newresult.TotalAmountOC = result.to;
                    newresult.PUInvoiceDetailFixedAssets = result.PUInvoiceDetailFixedAssets.Count <= 0 ? null : PUInvoiceDetailFixedAssets(result.PUInvoiceDetailFixedAssets.ToList(), result.RefID.ToString());
                    buentity.Add(newresult);
                }
            }
            return(buentity);//Bỏ chứng từ hóa đơn mua hàng
        }
        public PUInvoiceResponse UpdatePUInvoice(PUInvoiceEntity pUInvoice)
        {
            var pUInvoiceResponse = new PUInvoiceResponse {
                Acknowledge = AcknowledgeType.Success
            };

            if (pUInvoice != null && !pUInvoice.Validate())
            {
                foreach (var error in pUInvoice.ValidationErrors)
                {
                    pUInvoiceResponse.Message += error + Environment.NewLine;
                }
                pUInvoiceResponse.Acknowledge = AcknowledgeType.Failure;
                return(pUInvoiceResponse);
            }

            using (var scope = new TransactionScope())
            {
                if (pUInvoice != null)
                {
                    #region Master
                    var pUInvoiceByRefNo = PUInvoiceDao.GetPUInvoiceByRefNo(pUInvoice.RefNo, pUInvoice.PostedDate);
                    if (pUInvoiceByRefNo != null && !pUInvoiceByRefNo.RefId.Equals(pUInvoice.RefId) && pUInvoiceByRefNo.PostedDate.Year == pUInvoice.PostedDate.Year)
                    {
                        pUInvoiceResponse.Acknowledge = AcknowledgeType.Failure;
                        pUInvoiceResponse.Message     = string.Format("Số chứng từ \'{0}\' đã tồn tại!", pUInvoice.RefNo);
                        return(pUInvoiceResponse);
                    }

                    if (string.IsNullOrEmpty(pUInvoice.RefId))
                    {
                        pUInvoice.RefId = Guid.NewGuid().ToString();
                    }
                    else
                    {
                        // Xóa detail
                        pUInvoiceResponse.Message = PUInvoiceDetailFixedAssetDao.DeletePUInvoiceDetailFixedAssets(pUInvoice.RefId);
                        if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                        {
                            goto Error;
                        }

                        AutoMapper(DeleteGeneralLedger(pUInvoice.RefId), pUInvoiceResponse);
                        if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                        {
                            goto Error;
                        }

                        AutoMapper(DeleteOriginalLedger(pUInvoice.RefId), pUInvoiceResponse);
                        if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                        {
                            goto Error;
                        }

                        AutoMapper(DeleteFixAssetLedger(pUInvoice.RefId, pUInvoice.RefType), pUInvoiceResponse);
                        if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                        {
                            goto Error;
                        }
                    }

                    pUInvoiceResponse.Message = PUInvoiceDao.UpdatePUInvoice(pUInvoice);
                    if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                    {
                        goto Error;
                    }
                    #endregion

                    #region Detail
                    if (pUInvoice.PUInvoiceDetailFixedAssets != null && pUInvoice.PUInvoiceDetailFixedAssets.Count > 0)
                    {
                        foreach (PUInvoiceDetailFixedAssetEntity entity in pUInvoice.PUInvoiceDetailFixedAssets)
                        {
                            entity.RefDetailId        = Guid.NewGuid().ToString();
                            entity.RefId              = pUInvoice.RefId;
                            pUInvoiceResponse.Message = PUInvoiceDetailFixedAssetDao.UpdatePUInvoiceDetailFixedAsset(entity);
                            if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                            {
                                goto Error;
                            }

                            #region General Ledger
                            AutoMapper(InsertGeneralLedger(entity, pUInvoice), pUInvoiceResponse);
                            if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                            {
                                goto Error;
                            }
                            #endregion

                            #region Original Ledger
                            AutoMapper(InsertOriginalLedger(entity, pUInvoice), pUInvoiceResponse);
                            if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                            {
                                goto Error;
                            }
                            #endregion

                            #region FixedAsset Ledger
                            if (entity.DebitAccount.StartsWith("21"))
                            {
                                AutoMapper(InsertFixAssetLedger(entity, pUInvoice), pUInvoiceResponse);
                                if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                                {
                                    goto Error;
                                }
                            }

                            #endregion
                        }
                    }
                    #endregion

                    #region Error
Error:
                    if (!string.IsNullOrEmpty(pUInvoiceResponse.Message))
                    {
                        pUInvoiceResponse.Acknowledge = AcknowledgeType.Failure;
                        scope.Dispose();
                        return(pUInvoiceResponse);
                    }
                    pUInvoiceResponse.RefId = pUInvoice.RefId;
                    scope.Complete();
                    #endregion
                }
                return(pUInvoiceResponse);
            }
        }
Exemplo n.º 4
0
        public string UpdatePUInvoice(PUInvoiceEntity entity)
        {
            const string procedures = @"uspInsert_PUInvoice";

            return(Db.Insert(procedures, true, Take(entity)));
        }