public List <NvGiaoDichQuayVm.DataDetails> DataDetails(NvGiaoDichQuayVm.DataDto instance) { var data = UnitOfWork.Repository <NvGiaoDichQuayChiTiet>() .DbSet.Where(x => x.MaGDQuayPK == instance.MaGiaoDichQuayPk) .ToList(); var dataDetails = AutoMapper.Mapper.Map <List <NvGiaoDichQuayChiTiet>, List <NvGiaoDichQuayVm.DataDetails> >(data); return(dataDetails); }
public NvGiaoDichQuayVm.DataDto SetCustomer(NvGiaoDichQuayVm.DataDto instance) { var customer = UnitOfWork.Repository <MdCustomer>().DbSet.FirstOrDefault(x => x.MaKH == instance.MaKhachHang); if (customer != null) { instance.DiaChi = customer.DiaChi; instance.DienThoai = customer.DienThoai; instance.NgaySinh = customer.NgaySinh; instance.NgayDacBiet = customer.NgayDacBiet; instance.Email = customer.Email; instance.TenKhachHang = customer.TenKH; instance.TenKhac = customer.TenKhac; instance.MaThe = customer.MaThe; instance.QuenThe = customer.QuenThe; } return(instance); }
public NvGiaoDichQuay InsertPhieu(NvGiaoDichQuayVm.DataDto instance) { decimal tyLeKhuyenMai = 0, tienKhuyenMai = 0; var unitCode = GetCurrentUnitCode(); var item = AutoMapper.Mapper.Map <NvGiaoDichQuayVm.DataDto, NvGiaoDichQuay>(instance); item.Id = Guid.NewGuid().ToString(); item.MaGiaoDich = instance.MaGiaoDich; item.MaGiaoDichQuayPK = unitCode + '.' + instance.MaGiaoDich; item.MaDonVi = unitCode; item.LoaiGiaoDich = instance.LoaiGiaoDich; item.NgayTao = DateTime.Now; item.NgayPhatSinh = instance.NgayPhatSinh; item.MaNguoiTao = instance.MaNhanVien; item.NguoiTao = instance.TenNhanVien; item.MaVoucher = instance.Voucher; item.TienKhachDua = instance.TienKhachDua; item.TienVoucher = instance.TienVoucher; item.TienTheVip = instance.TienTheVip; item.TienTraLai = instance.TienThua; item.TienThe = instance.TienThe; item.TienMat = instance.TienMat; item.TienCOD = instance.TienCOD; item.TTienCoVat = instance.SumTienHang; item.ThoiGian = DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString(); item.MaKhachHang = instance.Makh; item.UnitCode = unitCode; item.IState = "Complete"; item.ICreateDate = DateTime.Now; item.ICreateBy = instance.UserName; item.MaQuayBan = "QUAYBANLE"; //tính tỷ lệ khuyến mại voucher ra phần trăm theo tỷ lệ các mặt hàng trong danh sách bán if (item.TienVoucher > 0) { decimal tTienMin = 0; decimal tTienTemp = 0; int number = instance.DataDetails.Count; if (number > 0) { //tỷ lệ từng mặt hàng decimal.TryParse(instance.DataDetails[0].TTienCoVat.ToString(), out tTienMin); foreach (var record in instance.DataDetails) { decimal.TryParse(record.TTienCoVat.ToString(), out tTienTemp); if (tTienTemp < tTienMin) { tTienMin = tTienTemp; } } //lấy được tiền nhỏ nhất rồi thì đem chia giá từng mặt hàng để ra tỷ lệ theo % foreach (var record in instance.DataDetails) { decimal tTyLeKhuyenMaiVoucher = 0; decimal.TryParse((100 * (record.TTienCoVat.Value / tTienMin) / number).ToString(), out tTyLeKhuyenMaiVoucher); record.TyLeVoucher = tTyLeKhuyenMaiVoucher; } } } var result = item; Insert(result); var dataDetails = AutoMapper.Mapper.Map <List <NvGiaoDichQuayVm.DataDetails>, List <NvGiaoDichQuayChiTiet> >(instance.DataDetails); dataDetails.ForEach(x => { decimal.TryParse(x.TyLeKhuyenMai.ToString(), out tyLeKhuyenMai); decimal.TryParse(x.TienKhuyenMai.ToString(), out tienKhuyenMai); x.Id = Guid.NewGuid().ToString(); x.MaGDQuayPK = item.MaGiaoDichQuayPK; x.MaKhoHang = unitCode + "-K2"; x.MaDonVi = unitCode; x.MaVatTu = x.MaVatTu; x.Barcode = x.Barcode; x.TenDayDu = x.TenDayDu; x.NguoiTao = item.NguoiTao; x.MaBoPK = x.MaBoPK; x.NgayTao = DateTime.Now; x.NgayPhatSinh = item.NgayPhatSinh; x.SoLuong = x.SoLuong; x.TTienCoVat = x.TTienCoVat; x.VatBan = x.VatBan; x.GiaBanLeCoVat = x.GiaBanLeCoVat; x.MaKhachHang = instance.Makh; x.MaChuongTrinhKhuyenMai = x.MaChuongTrinhKhuyenMai; x.TyLeLaiLe = x.TyLeLaiLe; x.GiaVon = x.GiaVon; x.LoaiKhuyenMai = x.LoaiKhuyenMai; x.TienKhuyenMai = tienKhuyenMai; x.TyLeKhuyenMai = tyLeKhuyenMai; x.TienVoucher = (item.TienVoucher * x.TyLeVoucher) / 100; }); UnitOfWork.Repository <NvGiaoDichQuayChiTiet>().InsertRange(dataDetails); return(result); }