コード例 #1
0
        public static void Update(RemittanceModel remittanceModel)
        {
            var savedDetail = getRemittanceByRemitNo(remittanceModel.RemitNo);

            if (savedDetail.Count() > remittanceModel.Remittances.Count())
            {
                var tobeDeleted = savedDetail.Take(savedDetail.Count() - remittanceModel.Remittances.Count());
                foreach (var item in tobeDeleted)
                {
                    ////Change status to 'Confirm' of the receipt to be deleted.
                    ReceiptViewModel receipt = ReceiptHelper.GetReceipt(item.ReceiptId.ToString());
                    receipt.Status = "Confirm";
                    ReceiptHelper.SaveReceipt(receipt);

                    ////Delete receipt to be remitted.
                    service.DeleteRemittanceDetail(item.Id.ToString(), AuthenticationHelper.CompanyId.Value);
                }
                savedDetail = getRemittanceByRemitNo(remittanceModel.RemitNo);
            }

            foreach (var detail in remittanceModel.Remittances)
            {
                detail.RemitDate     = remittanceModel.RemitDate;
                detail.RemitNo       = remittanceModel.RemitNo;
                detail.SOBId         = remittanceModel.SOBId;
                detail.BankId        = remittanceModel.BankId;
                detail.BankAccountId = remittanceModel.BankAccountId;

                Remittance entity = getEntityByModel(detail, savedDetail.Count());
                if (entity.IsValid())
                {
                    if (savedDetail.Count() > 0)
                    {
                        entity.Id = savedDetail.FirstOrDefault().Id;
                        savedDetail.Remove(savedDetail.FirstOrDefault(rec => rec.Id == entity.Id));
                        service.Update(entity);
                    }
                    else
                    {
                        service.Insert(entity);
                    }
                }

                ////Change status to Remit of the receipt.
                ReceiptViewModel receipt = ReceiptHelper.GetReceipt(detail.ReceiptId.ToString());
                receipt.Status = "Remit";
                ReceiptHelper.SaveReceipt(receipt);
            }
        }
コード例 #2
0
        //public static void Delete(string remitNo)
        //{
        //    RemittanceModel remittance = new RemittanceModel(service.GetByRemitNo(remitNo));
        //    foreach (RemittanceDetailModel remittanceDetail in remittance.Remittances)
        //    {
        //        ////Change status to 'Confirm' of the receipt to be deleted.
        //        ReceiptViewModel receipt = ReceiptHelper.GetReceipt(remittanceDetail.ReceiptId.ToString());
        //        receipt.Status = "Confirm";
        //        ReceiptHelper.SaveReceipt(receipt);
        //    }

        //    service.Delete(remitNo, AuthenticationHelper.CompanyId.Value);
        //}

        public static void Delete(string remitNo)
        {
            RemittanceModel remittance = new RemittanceModel(service.GetByRemitNo(remitNo));

            if (remittance != null)
            {
                remittance.Remittances = GetRemittanceDetail(remittance.RemitNo).ToList();
                if (remittance.Remittances != null && remittance.Remittances.Count() > 0)
                {
                    foreach (RemittanceDetailModel item in remittance.Remittances)
                    {
                        ////Change status to 'Confirm' of the receipt to be deleted.
                        ReceiptViewModel receipt = ReceiptHelper.GetReceipt(item.ReceiptId.ToString());
                        receipt.Status = "Confirm";
                        ReceiptHelper.SaveReceipt(receipt);
                    }
                }
            }

            service.Delete(remitNo, AuthenticationHelper.CompanyId.Value);
        }