private void update_menu() { F001_Main v_frm = new F001_Main(); DevExpress.XtraBars.Ribbon.RibbonControl m_rc_menu = v_frm.m_rc_menu; List<HT_QUYEN> v_lst_menu = new List<HT_QUYEN>(); //1. Get list menu //Level RibbonPage foreach (DevExpress.XtraBars.Ribbon.RibbonPage rp in m_rc_menu.Pages) { //Level RibbonPageGroup foreach (DevExpress.XtraBars.Ribbon.RibbonPageGroup rpg in rp.Groups) { //Level BarButtonItem foreach (DevExpress.XtraBars.BarItemLink bbl in rpg.ItemLinks) { HT_QUYEN v_q = new HT_QUYEN() { RIBBON_PAGE_NAME = rp.Name , RIBBON_PAGE_TEXT = rp.Text , RIBBON_PAGE_GROUP_NAME = rpg.Name , RIBBON_PAGE_GROUP_TEXT = rpg.Text , BAR_BUTTON_ITEM_NAME = bbl.Item.Name , BAR_BUTTON_ITEM_CAPTION = bbl.Item.Caption }; v_lst_menu.Add(v_q); } } } //2. Update database using (QuanLyKhoEntities db = new QuanLyKhoEntities()) { List<HT_QUYEN> v_lst_ht_quyen = db.HT_QUYEN.ToList(); //2.1 Xoa bo di menu trong database ma khong co trong form foreach (var q in v_lst_ht_quyen) { HT_QUYEN v_q = v_lst_menu.Where(x => x.RIBBON_PAGE_GROUP_NAME == q.RIBBON_PAGE_GROUP_NAME && x.RIBBON_PAGE_NAME == q.RIBBON_PAGE_NAME && x.BAR_BUTTON_ITEM_NAME == q.BAR_BUTTON_ITEM_NAME) .FirstOrDefault(); //Neu khong tim thay menu trong form thi xoa menu trong database if (v_q == null) { //Remove ht_phan_quyen List<HT_PHAN_QUYEN> v_lst_phan_quyen = db.HT_PHAN_QUYEN .Where(x => x.ID_QUYEN == q.ID) .ToList(); foreach (var pq in v_lst_phan_quyen) { db.HT_PHAN_QUYEN.Remove(pq); db.SaveChanges(); } //Remove ht_quyen db.HT_QUYEN.Remove(q); db.SaveChanges(); v_lst_ht_quyen = db.HT_QUYEN.ToList(); } else { //Neu tim thay thi cap nhat lai caption, text q.RIBBON_PAGE_TEXT = v_q.RIBBON_PAGE_TEXT; q.RIBBON_PAGE_GROUP_TEXT = v_q.RIBBON_PAGE_GROUP_TEXT; q.BAR_BUTTON_ITEM_CAPTION = v_q.BAR_BUTTON_ITEM_CAPTION; db.SaveChanges(); } } v_lst_ht_quyen = db.HT_QUYEN.ToList(); //2.2 Them vao database nhung menu co trong form nhung chua co trong database foreach (var q in v_lst_menu) { if (!v_lst_ht_quyen.Exists(x => x.RIBBON_PAGE_GROUP_NAME == q.RIBBON_PAGE_GROUP_NAME && x.RIBBON_PAGE_NAME == q.RIBBON_PAGE_NAME && x.BAR_BUTTON_ITEM_NAME == q.BAR_BUTTON_ITEM_NAME)) { db.HT_QUYEN.Add(q); db.SaveChanges(); v_lst_ht_quyen = db.HT_QUYEN.ToList(); } } } }
public static void TinhLaiGiaThanh(QuanLyKhoEntities db, GD_SO_DU ip_sd, GD_CHI_TIET_GIAO_DICH ip_ctgd, bool isThemMoiSoDu, bool isXoaBanGhi) { //Luu y: Function nay chi tinh gia thanh cho giao dich: NHAP KHO hoac XUAT KHO GD_SO_DU v_gd_so_su_tai_thoi_diem = db.GD_SO_DU .Where(x => (x.ID_KHO == ip_ctgd.ID_KHO) && x.ID_VAT_TU_HANG_HOA == ip_ctgd.ID_VAT_TU_HANG_HOA && x.THOI_DIEM_PHAT_SINH <= ip_ctgd.GD_GIAO_DICH.NGAY_GIAO_DICH) .GroupBy(x => new { x.ID_VAT_TU_HANG_HOA, x.ID_KHO }) .Select(x => x.OrderByDescending(y => y.THOI_DIEM_PHAT_SINH).FirstOrDefault()) .FirstOrDefault(); decimal v_dc_so_luong = SoDu.quy_doi_so_luong(ip_ctgd.ID_VAT_TU_HANG_HOA ?? -1, ip_ctgd.ID_DON_VI_TINH ?? -1, ip_ctgd.DM_VAT_TU_HANG_HOA.ID_DON_VI_TINH_CO_SO ?? -1, ip_ctgd.SO_LUONG ?? 0); if (isThemMoiSoDu) { ip_sd.ID_CHI_TIET_GIAO_DICH = ip_ctgd.ID; ip_sd.ID_DON_VI_TINH = ip_ctgd.DM_VAT_TU_HANG_HOA.ID_DON_VI_TINH_CO_SO ?? -1; ip_sd.ID_KHO = ip_ctgd.ID_KHO ?? -1; ip_sd.ID_VAT_TU_HANG_HOA = ip_ctgd.ID_VAT_TU_HANG_HOA ?? -1; ip_sd.THOI_DIEM_PHAT_SINH = ip_ctgd.GD_GIAO_DICH.NGAY_GIAO_DICH; ip_sd.SO_LUONG = SoDu.quy_doi_so_luong(ip_ctgd.ID_VAT_TU_HANG_HOA??-1, ip_ctgd.ID_DON_VI_TINH??-1, ip_ctgd.DM_VAT_TU_HANG_HOA.ID_DON_VI_TINH_CO_SO??-1, ip_ctgd.SO_LUONG??0); } //Cap nhat gia thanh if (v_gd_so_su_tai_thoi_diem == null) { ip_sd.GIA_THANH = ip_ctgd.GIA_THANH ?? 0; } else { if (ip_ctgd.GD_GIAO_DICH.ID_LOAI_GIAO_DICH == LOAI_GIAO_DICH.NHAP_KHO) { ip_sd.SO_LUONG = v_gd_so_su_tai_thoi_diem.SO_LUONG + v_dc_so_luong; ip_sd.GIA_THANH = (Int32)((v_gd_so_su_tai_thoi_diem.SO_LUONG * v_gd_so_su_tai_thoi_diem.GIA_THANH + (ip_ctgd.GIA_THANH ?? 0) * ip_sd.SO_LUONG) / (v_gd_so_su_tai_thoi_diem.SO_LUONG + ip_sd.SO_LUONG)); } else if (ip_ctgd.GD_GIAO_DICH.ID_LOAI_GIAO_DICH == LOAI_GIAO_DICH.XUAT_KHO) { ip_sd.SO_LUONG = v_gd_so_su_tai_thoi_diem.SO_LUONG - v_dc_so_luong; ip_sd.GIA_THANH = v_gd_so_su_tai_thoi_diem.GIA_THANH; } } if (isThemMoiSoDu) { db.GD_SO_DU.Add(ip_sd); } if (isXoaBanGhi) { db.GD_SO_DU.Remove(ip_sd); } db.SaveChanges(); }