Example #1
0
        public async Task <ChiTietPhieuDatSan> UpdateById(int id, ChiTietPhieuDatSanForUpdateDto chiTietPhieuDatSan)
        {
            var phieuDatSan = await _context.DanhSachPhieuDatSan.FirstOrDefaultAsync(x => x.MaPhieuDatSan == chiTietPhieuDatSan.MaPhieuDatSan);

            double daThanhToan = 0;
            var    danhSachChiTietPhieuDatSan = _context.DanhSachChiTietPhieuDatSan
                                                .Where(x => x.MaPhieuDatSan == phieuDatSan.MaPhieuDatSan && x.MaChiTietPDS != id);

            foreach (var item in danhSachChiTietPhieuDatSan)
            {
                daThanhToan = daThanhToan + item.TienCoc;
            }

            daThanhToan = daThanhToan + chiTietPhieuDatSan.TienCoc;

            if (daThanhToan == 0)
            {
                phieuDatSan.TrangThai = 0;
            }
            else if (daThanhToan < phieuDatSan.TongTien)
            {
                phieuDatSan.TrangThai = 1;
            }
            else if (daThanhToan >= phieuDatSan.TongTien)
            {
                phieuDatSan.TrangThai = 2;
            }

            _context.DanhSachPhieuDatSan.Update(phieuDatSan);
            await _context.SaveChangesAsync();


            var oldRecord = await _context.DanhSachChiTietPhieuDatSan.AsNoTracking().FirstOrDefaultAsync(x => x.MaChiTietPDS == id);

            var chiTietPhieuDatSanToUpdateById = new ChiTietPhieuDatSan
            {
                MaChiTietPDS    = id,
                MaPhieuDatSan   = chiTietPhieuDatSan.MaPhieuDatSan,
                MaSanBong       = chiTietPhieuDatSan.MaSanBong,
                ThoiGianBatDau  = chiTietPhieuDatSan.ThoiGianBatDau,
                ThoiGianKetThuc = chiTietPhieuDatSan.ThoiGianKetThuc,
                NgayDat         = chiTietPhieuDatSan.NgayDat,
                TienCoc         = chiTietPhieuDatSan.TienCoc,
                ThanhTien       = chiTietPhieuDatSan.ThanhTien,
                ThoiGianTao     = DateTime.Now,
                ThoiGianCapNhat = DateTime.Now
            };

            _context.DanhSachChiTietPhieuDatSan.Update(chiTietPhieuDatSanToUpdateById);
            await _context.SaveChangesAsync();

            return(chiTietPhieuDatSanToUpdateById);
        }
Example #2
0
        public async Task <ICollection <ChiTietPhieuDatSan> > CreateMultiple(ICollection <ChiTietPhieuDatSanForCreateMultipleDto> danhSachChiTietPhieuDatSan)
        {
            var result = await _context.DanhSachChiTietPhieuDatSan.OrderByDescending(x => x.MaChiTietPDS).FirstOrDefaultAsync();

            var maChiTietPDS = 1;

            if (result == null)
            {
                maChiTietPDS = 1;
            }
            else
            {
                maChiTietPDS = result.MaChiTietPDS + 1;
            }

            ICollection <ChiTietPhieuDatSan> temp = new List <ChiTietPhieuDatSan>();

            for (int i = 0; i < danhSachChiTietPhieuDatSan.Count; i++)
            {
                var chiTietPDS = danhSachChiTietPhieuDatSan.ElementAt(i);

                var phieuDatSan = await _context.DanhSachPhieuDatSan.FirstOrDefaultAsync(x => x.MaPhieuDatSan == chiTietPDS.MaPhieuDatSan);

                double daThanhToan = 0;

                var danhSachChiTietPhieuDatSan_PhieuDatSan = _context.DanhSachChiTietPhieuDatSan.Where(x => x.MaPhieuDatSan == phieuDatSan.MaPhieuDatSan);
                foreach (var item in danhSachChiTietPhieuDatSan_PhieuDatSan)
                {
                    daThanhToan = daThanhToan + item.TienCoc;
                }

                daThanhToan = daThanhToan + chiTietPDS.TienCoc;

                if (daThanhToan == 0)
                {
                    phieuDatSan.TrangThai = 0;
                }
                else if (daThanhToan < phieuDatSan.TongTien)
                {
                    phieuDatSan.TrangThai = 1;
                }
                else if (daThanhToan >= phieuDatSan.TongTien)
                {
                    phieuDatSan.TrangThai = 2;
                }

                _context.DanhSachPhieuDatSan.Update(phieuDatSan);

                var newChiTietPhieuDatSan = new ChiTietPhieuDatSan
                {
                    MaChiTietPDS    = maChiTietPDS,
                    MaPhieuDatSan   = chiTietPDS.MaPhieuDatSan,
                    MaSanBong       = chiTietPDS.MaSanBong,
                    ThoiGianBatDau  = chiTietPDS.ThoiGianBatDau,
                    ThoiGianKetThuc = chiTietPDS.ThoiGianKetThuc,
                    NgayDat         = chiTietPDS.NgayDat,
                    TienCoc         = chiTietPDS.TienCoc,
                    ThanhTien       = chiTietPDS.ThanhTien,
                    ThoiGianTao     = DateTime.Now,
                    ThoiGianCapNhat = DateTime.Now
                };
                maChiTietPDS = maChiTietPDS + 1;
                temp.Add(newChiTietPhieuDatSan);
                await _context.DanhSachChiTietPhieuDatSan.AddAsync(newChiTietPhieuDatSan);


                await _context.SaveChangesAsync();
            }

            return(temp);
        }
Example #3
0
        public async Task <ChiTietPhieuDatSan> Create(ChiTietPhieuDatSanForCreateDto chiTietPhieuDatSan)
        {
            var phieuDatSan = await _context.DanhSachPhieuDatSan.FirstOrDefaultAsync(x => x.MaPhieuDatSan == chiTietPhieuDatSan.MaPhieuDatSan);

            double daThanhToan = 0;

            var danhSachChiTietPhieuDatSan_PhieuDatSan = _context.DanhSachChiTietPhieuDatSan.Where(x => x.MaPhieuDatSan == phieuDatSan.MaPhieuDatSan);

            foreach (var item in danhSachChiTietPhieuDatSan_PhieuDatSan)
            {
                daThanhToan = daThanhToan + item.TienCoc;
            }

            daThanhToan = daThanhToan + chiTietPhieuDatSan.TienCoc;
            if (daThanhToan == 0)
            {
                phieuDatSan.TrangThai = 0;
            }
            else if (daThanhToan < phieuDatSan.TongTien)
            {
                phieuDatSan.TrangThai = 1;
            }
            else if (daThanhToan >= phieuDatSan.TongTien)
            {
                phieuDatSan.TrangThai = 2;
            }

            _context.DanhSachPhieuDatSan.Update(phieuDatSan);
            await _context.SaveChangesAsync();


            var danhSachChiTietPhieuDatSan = await _context.DanhSachChiTietPhieuDatSan.OrderByDescending(x => x.MaChiTietPDS).FirstOrDefaultAsync();

            var maChiTietPhieuDatSan = 1;

            if (danhSachChiTietPhieuDatSan == null)
            {
                maChiTietPhieuDatSan = 1;
            }
            else
            {
                maChiTietPhieuDatSan = danhSachChiTietPhieuDatSan.MaChiTietPDS + 1;
            }

            var newChiTietPhieuDatSan = new ChiTietPhieuDatSan
            {
                MaChiTietPDS    = maChiTietPhieuDatSan,
                MaPhieuDatSan   = chiTietPhieuDatSan.MaPhieuDatSan,
                MaSanBong       = chiTietPhieuDatSan.MaSanBong,
                ThoiGianBatDau  = chiTietPhieuDatSan.ThoiGianBatDau,
                ThoiGianKetThuc = chiTietPhieuDatSan.ThoiGianKetThuc,
                NgayDat         = chiTietPhieuDatSan.NgayDat,
                TienCoc         = chiTietPhieuDatSan.TienCoc,
                ThanhTien       = chiTietPhieuDatSan.ThanhTien,
                DaXoa           = 0
            };

            await _context.DanhSachChiTietPhieuDatSan.AddAsync(newChiTietPhieuDatSan);


            await _context.SaveChangesAsync();

            return(newChiTietPhieuDatSan);
        }