コード例 #1
0
        public HOADONM AddHOADONM(HOADONM model, List <D_HOADONM> details, string loginUser)
        {
            using (var db = new RestaurantManagerDataEntities())
            {
                using (var trans = db.Database.BeginTransaction())
                {
                    try
                    {
                        var check = db.HOADONMs.FirstOrDefault(x => x.idhoadonm == model.idhoadonm);
                        if (check == null)
                        {
                            var pnhap = db.PNHAPs.AsNoTracking().FirstOrDefault(x => x.idpnhap == model.idpnhap);
                            var pgiao = db.GIAOHANGs.AsNoTracking().FirstOrDefault(x => x.idpgiao == pnhap.idpgiao);
                            model.CreateBy   = loginUser;
                            model.CreateDate = DateTime.Now;
                            var result = db.HOADONMs.Add(model);
                            db.SaveChanges();

                            foreach (D_HOADONM item in details)
                            {
                                item.idhoadonm  = result.idhoadonm;
                                item.CreateBy   = loginUser;
                                item.CreateDate = DateTime.Now;
                                db.D_HOADONM.Add(item);
                            }
                            db.SaveChanges();


                            //cập nhật lại số lượng và giá nguyên liệu
                            foreach (D_HOADONM item in details)
                            {
                                var Nlieu = db.NLIEUx.FirstOrDefault(x => x.idhang == item.idhang);
                                if (Nlieu != null)
                                {
                                    Nlieu.slton     += item.slmua;
                                    Nlieu.dongianl   = item.dongiamua;
                                    Nlieu.ModifyBy   = loginUser;
                                    Nlieu.ModifyDate = DateTime.Now;
                                }
                            }
                            db.SaveChanges();
                            trans.Commit();

                            return(result);
                        }
                        return(null);
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                        return(null);
                    }
                }
            }
        }
コード例 #2
0
        private void btnAddHoaDon_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtidpnhap.Text == "" || txtidpnhap.EditValue == null)
                {
                    XtraMessageBox.Show("Bạn phải chọn phiếu nhập!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                int.TryParse(txtidpnhap.EditValue.ToString(), out int idpnhap);
                if (idpnhap <= 0)
                {
                    XtraMessageBox.Show("Bạn phải chọn phiếu nhập!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                double.TryParse(txtTotalAmount.EditValue.ToString(), out double TotalAmount);
                var ngaymua = dtpngaydat.Value;

                var model = new HOADONM
                {
                    idpnhap = idpnhap,
                    ngaymua = ngaymua
                };
                List <D_HOADONM> lstD_HOADONM = new List <D_HOADONM>();

                foreach (D_PNHAP_ViewModel item in lstD_PNHAP)
                {
                    var details = new D_HOADONM
                    {
                        idhang    = item.idhang,
                        slmua     = item.slnhan.Value,
                        dongiamua = item.dongiamh,
                    };
                    lstD_HOADONM.Add(details);
                }
                if (lstD_HOADONM.Count() <= 0)
                {
                    XtraMessageBox.Show("Không có dữ liệu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                var resultData = new HOADONMBll().AddHOADONM(model, lstD_HOADONM, Properties.Settings.Default.NameLog);
                if (resultData != null)
                {
                    LoadGrid();

                    XtraMessageBoxArgs args = new XtraMessageBoxArgs();
                    args.Caption  = "Thông báo";
                    args.Text     = "Xuất hóa đơn thành công!\n Bạn có muốn in hóa đơn ?";
                    args.Buttons  = new DialogResult[] { DialogResult.OK, DialogResult.Cancel };
                    args.Showing += Args_Showing;

                    var result = XtraMessageBox.Show(args);
                    if (result == DialogResult.OK)
                    {
                        var HOADONM   = new HOADONMBll().GetHOADONM(resultData.idhoadonm);
                        var D_HOADONM = new HOADONMBll().GetLisD_HOADONM(resultData.idhoadonm);
                        using (frmPrint frm = new frmPrint())
                        {
                            frm.PrintHOADONM(HOADONM, D_HOADONM);
                            frm.ShowDialog();
                        }
                        return;
                    }

                    //XtraMessageBox.Show(msg, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ClearDisplay();
                    return;
                }
                // XtraMessageBox.Show(msg, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                ClearDisplay();
                return;
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show(ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
        }