コード例 #1
0
ファイル: RepoPayment.cs プロジェクト: rubentan/genesis
        public void AddPaymentDetail(dtoPaymentDetail t)
        {
            var paymentDetail = new tbl_paymentDetails()
            {
                paymentId = t.paymentId,
                paymentPrice = t.paymentPrice,
                documentId = t.documentId,
                dateCreated = DateTime.Now,
                createdBy = t.createdBy,
            };

            DBContext.tbl_paymentDetails.Add(paymentDetail);
            DBContext.SaveChanges();
        }
コード例 #2
0
ファイル: RepoPayment.cs プロジェクト: rubentan/genesis
        public dtoResult SavePaymentTransaction(dtoPayment Header, List<dtoPaymentDetail> Details)
        {
            int? originalPaymentId = Header.paymentId;
            var respose = new dtoResult { isSuccessful = true };
            try
            {
                if (Header.paymentId == null || Header.paymentId == 0)
                {
                    Insert(ref Header);
                }
                else
                {
                    //Update Header
                    Update(Header);

                    //Delete Removed details.
                    var updatedIds = Details.Where(i => i.paymentDetailsId != null).Select(i => i.paymentDetailsId).ToList();
                    var deletedDetails = DBContext.tbl_paymentDetails.Where(l => l.paymentId == originalPaymentId && !updatedIds.Contains(l.paymentDetailsId));

                    foreach (var del in deletedDetails)
                    {
                        DBContext.tbl_paymentDetails.Remove(del);
                    }
                }

                foreach (var item in Details)
                {
                    if (originalPaymentId == null || originalPaymentId == 0)
                    {
                        var objDT = new tbl_paymentDetails
                        {
                            paymentId = Header.paymentId,
                            documentId = item.documentId,
                            paymentPrice = item.paymentPrice,
                            createdBy = 1,
                            dateCreated = DateTime.Now
                        };

                        DBContext.tbl_paymentDetails.Add(objDT);
                        DBContext.SaveChanges();
                    }
                    else
                    {

                        if (item.paymentDetailsId != null || item.paymentDetailsId > 0)
                        {
                            var objDT = DBContext.tbl_paymentDetails.FirstOrDefault(d => d.paymentDetailsId == item.paymentDetailsId);
                            objDT.paymentId = Header.paymentId;
                            objDT.documentId = item.documentId;
                            objDT.paymentPrice = item.paymentPrice;
                            objDT.lastModifiedBy = 1;
                            objDT.dateLastModified = DateTime.Now;
                            DBContext.SaveChanges();
                        }
                        else
                        {
                            var objDT = new tbl_paymentDetails
                            {
                                paymentId = Header.paymentId,
                                documentId = item.documentId,
                                paymentPrice = item.paymentPrice,
                                createdBy = 1,
                                dateCreated = DateTime.Now
                            };

                            DBContext.tbl_paymentDetails.Add(objDT);
                            DBContext.SaveChanges();
                        }
                    }
                }

                DBContext.SaveChanges();
            }
            catch (Exception ex)
            {
                respose.isSuccessful = false;
                respose.errorMsg = ex.Message;
            }

            return respose;
        }