/// <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);
 }
示例#2
0
        /// <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();
            }
        }