/// <summary> /// Thêm mới hoặc Cập nhật thông tin Nhóm Hàng /// </summary> /// <param name="productGroupName"></param> private ProductGroup InsertOrUpdateProductGroup(string productGroupName) { if (!string.IsNullOrEmpty(productGroupName)) { ProductGroup productGroup; if (!_productGroupService.CheckProductGroupNameExit(productGroupName)) { productGroup = _productGroupService.GetProductGrouprByName(productGroupName); } else { productGroup = new ProductGroup() { ProductGroupID = _productGroupService.NextId(), ProductGroupName = productGroupName, CreatedBy = _userName, CreatedDate = DateTime.Now, Description = productGroupName, }; try { _productGroupService.Add(productGroup); } catch (Exception ex) { XtraMessageBox.Show(string.Format("Lỗi thêm Nhóm Hàng \n{0}", ex.Message)); } } return(productGroup); } return(null); }
/// <summary> /// Lưu thông tin /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSaveDataFormExel_Click(object sender, EventArgs e) { string userName = Program.CurrentUser.UserName; string strUpdate = null; string strInsert = null; int countUpdate = 0; int countInsert = 0; int countExits = 0; if (!string.IsNullOrEmpty(textEditPathFileExel.Text)) { const string sheetName = "Sheet1"; string pathToExcelFile = textEditPathFileExel.Text.Trim(); var excelFile = new ExcelQueryFactory(pathToExcelFile); excelFile.AddMapping <ProductGroup>(x => x.ProductGroupName, "ProductGroupName"); excelFile.AddMapping <ProductGroup>(x => x.Description, "Description"); excelFile.TrimSpaces = TrimSpacesType.Both; excelFile.ReadOnly = true; IQueryable <ProductGroup> productGroups = (from a in excelFile.Worksheet <ProductGroup>(sheetName) select a); try { foreach (ProductGroup productGroup in productGroups) { if (!_productGroupService.CheckProductGroupNameExit(productGroup.ProductGroupName)) { // Bỏ qua nếu đã tồn tại rồi if (radioButtonIgnoreIfDepartmentExits.Checked) { countExits++; } // Cập nhật nếu tên Bộ Phận đã tồn tại rồi if (radioButtonUpdateIfDepartmentExits.Checked) { ProductGroup updateProductGroup = _productGroupService.GetProductGrouprByName(productGroup.ProductGroupName); updateProductGroup.UpdateBy = userName; updateProductGroup.ModifyDate = DateTime.Now; try { _productGroupService.Update(updateProductGroup); countUpdate++; strUpdate += string.Format("{0}, ", productGroup.ProductGroupName); } catch (Exception ex) { XtraMessageBox.Show(string.Format("Lỗi cập nhật \n{0}", ex.Message)); } } } // Nếu tên chưa tồn tại thì thực hiện thêm mới else { productGroup.ProductGroupID = NextId(); productGroup.CreatedDate = DateTime.Now; productGroup.CreatedBy = userName; productGroup.IsActive = true; try { _productGroupService.Add(productGroup); countInsert++; strInsert += string.Format("{0}, ", productGroup.ProductGroupName); } catch (Exception ex) { XtraMessageBox.Show(string.Format("Lỗi thêm mới \n{0}", ex.Message)); } } } if (XtraMessageBox.Show( string.Format("Thực hiện thành công.\n" + "=> Bỏ qua: {3} - Nhóm Hàng đã tồn tại \n" + "=> Thêm mới: {0} - Nhóm Hàng \n" + "=> Cập nhật: {1} - Nhóm Hàng \n" + "Bạn có muốn thêm mới Bộ Phận nữa không?", countInsert, countUpdate, strInsert, countExits, strUpdate), "THÔNG BÁO", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) { gridControl1.DataSource = null; textEditPathFileExel.Text = string.Empty; } else { DialogResult = DialogResult.No; } } catch (DbEntityValidationException ex) { var sb = new StringBuilder(); foreach (var eve in ex.EntityValidationErrors) { sb.AppendLine(String.Format("Entity of type '{0}' in state '{1}' has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State)); foreach (var ve in eve.ValidationErrors) { sb.AppendLine(String.Format("- Property: '{0}', Error: '{1}'", ve.PropertyName, ve.ErrorMessage)); } } throw new Exception(sb.ToString(), ex); } } else { XtraMessageBox.Show("Vui lòng chọn tập tin để nhập", "Thông Báo Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error); textEditPathFileExel.Focus(); } }