Esempio n. 1
0
        private ImportObject GetImportObject(int row, Worksheet ws, out ErrorObject errorObject, string sizeColumn, string sizeName)
        {
            ImportObject obj = new ImportObject();

            StringBuilder errorMsg = new StringBuilder();

            // Type
            Range range = ws.get_Range("A" + row, "A" + row);
            string name = range.Value2 != null ? range.Value2.ToString() : "";

            if (name.Length > 500)
            {
                errorMsg.Append("Loại tối đa 500 kí tự!!");
            }
            else
            {
                obj.TypeName = name;
            }

            // Name
            range = ws.get_Range("C" + row, "C" + row);
            name = range.Value2 != null ? range.Value2.ToString() : "";

            if (name.Length > 500)
            {
                errorMsg.Append("Tên tối đa 500 kí tự!!");
            }
            else
            {
                obj.ProductName = obj.TypeName + name;
            }

            // Color
            range = ws.get_Range("F" + row, "F" + row);
            name = range.Value2 != null ? range.Value2.ToString() : "";

            if (name.Length > 500)
            {
                errorMsg.Append("Màu sắc tối đa 500 kí tự!!");
            }
            else
            {
                obj.ColorName = name;
            }

            // Price
            range = ws.get_Range("C" + row, "C" + row);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            int value = 0;
            if (name == string.Empty || !Int32.TryParse(name, out value) || value <= 0)
            {
                errorMsg.Append("Giá bán phải là số >= 0, tối đa " + Int32.MaxValue + " !!");
            }
            else
            {
                obj.Price = value;
            }

            // Mass Price
            range = ws.get_Range("D" + row, "D" + row);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            value = 0;
            if (name == string.Empty || !Int32.TryParse(name, out value) || value <= 0)
            {
                errorMsg.Append("Giá bán phải là số >= 0, tối đa " + Int32.MaxValue + " !!");
            }
            else
            {
                obj.MassPrice = value;
            }

            // Position
            range = ws.get_Range("E" + row, "E" + row);
            name = range.Value2 != null ? range.Value2.ToString() : "";

            if (name.Length > 500)
            {
                errorMsg.Append("Màu sắc tối đa 500 kí tự!!");
            }
            else
            {
                obj.Position = name;
            }

            // Description
            range = ws.get_Range("O" + row, "O" + row);
            name = range.Value2 != null ? range.Value2.ToString() : "";

            if (name.Length > 500)
            {
                errorMsg.Append("Màu sắc tối đa 500 kí tự!!");
            }
            else
            {
                obj.Position = name;
            }

            // Size
            obj.SizeName = sizeName;

            // Số lượng
            range = ws.get_Range(sizeColumn + row, sizeColumn + row);
            name = range.Value2 != null ? range.Value2.ToString() : "";

            value = 0;
            if (!Int32.TryParse(name, out value) || value < 0)
            {
                errorMsg.Append("Số lượng phải là số > 0, tối đa " + Int32.MaxValue + " !!");
            }
            else
            {
                if (value == 0)
                {
                    errorObject = null;
                    return null;
                }
                obj.Quantity = value;
            }

            if (errorMsg.Length == 0)
            {
                errorObject = null;
            }
            else
            {
                errorObject = new ErrorObject{ErrorMessage = errorMsg.ToString(), RowNumber = row};
            }

            return obj;
        }
Esempio n. 2
0
        private List<int> GetDepartmentsList(Worksheet ws,List<ErrorObject> errorList )
        {
            List<int> list = new List<int>();

            // F
            Range range = ws.get_Range("F" + 1, "F" + 1);
            string name = range.Value2 != null ? range.Value2.ToString() : "";
            if(!string.IsNullOrEmpty(name))
            {
                int deptId = 0;
                Int32.TryParse(name, out deptId);
                if(deptId>0)
                list.Add(deptId);
                else
                {
                    ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 " + name + " không phải là department id", RowNumber = 1 };
                    errorList.Add(errorObject);
                }
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có department id", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // G
            range = ws.get_Range("G" + 1, "G" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                int deptId = 0;
                Int32.TryParse(name, out deptId);
                if (deptId > 0)
                    list.Add(deptId);
                else
                {
                    ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 " + name + " không phải là department id", RowNumber = 1 };
                    errorList.Add(errorObject);
                }
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có department id", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // H
            range = ws.get_Range("H" + 1, "H" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                int deptId = 0;
                Int32.TryParse(name.Trim(), out deptId);
                if (deptId > 0)
                    list.Add(deptId);
                else
                {
                    ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 " + name + " không phải là department id", RowNumber = 1 };
                    errorList.Add(errorObject);
                }
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có department id", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // I
            range = ws.get_Range("I" + 1, "I" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                int deptId = 0;
                Int32.TryParse(name, out deptId);
                if (deptId > 0)
                    list.Add(deptId);
                else
                {
                    ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 " + name + " không phải là department id", RowNumber = 1 };
                    errorList.Add(errorObject);
                }
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có department id", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // J
            range = ws.get_Range("J" + 1, "J" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                int deptId = 0;
                Int32.TryParse(name, out deptId);
                if (deptId > 0)
                    list.Add(deptId);
                else
                {
                    ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 " + name + " không phải là department id", RowNumber = 1 };
                    errorList.Add(errorObject);
                }
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có department id", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // K
            range = ws.get_Range("K" + 1, "K" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                int deptId = 0;
                Int32.TryParse(name, out deptId);
                if (deptId > 0)
                    list.Add(deptId);
                else
                {
                    ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 " + name + " không phải là department id", RowNumber = 1 };
                    errorList.Add(errorObject);
                }
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có department id", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // L
            range = ws.get_Range("L" + 1, "L" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                int deptId = 0;
                Int32.TryParse(name, out deptId);
                if (deptId > 0)
                    list.Add(deptId);
                else
                {
                    ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 " + name + " không phải là department id", RowNumber = 1 };
                    errorList.Add(errorObject);
                }
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có department id", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            return list;
        }
Esempio n. 3
0
        private void importToDB(ImportObject obj, string stockInId, Dictionary<long, int> stockOutIdMap, out ErrorObject errorObject)
        {
            StringBuilder errorMsg = new StringBuilder();
            object id = dal.GetSingleValue("Select type_id from product_type where type_name = '" + obj.TypeName.Replace("'" , "''") + "'");
            if (id == null || id.ToString() == string.Empty)
            {
                errorMsg.Append("Không tồn tại loại!!");
            } else
            {
                obj.TypeId = Convert.ToInt32(id.ToString());
            }

            id = dal.GetSingleValue("Select color_id from product_color where color_name = '" + obj.ColorName.Replace("'", "''") + "'");
            if (id == null || id.ToString() == string.Empty)
            {
                errorMsg.Append("Không tồn tại màu sắc!!");
            } else
            {
                obj.ColorId = Convert.ToInt32(id.ToString());
            }

            id = dal.GetSingleValue("Select size_id from product_size where size_name = '" + obj.SizeName.Replace("'", "''").Trim() + "'");
            if (id == null || id.ToString() == string.Empty)
            {
                errorMsg.Append("Không tồn tại kích cỡ!!");
            } else
            {
                obj.SizeId = Convert.ToInt32(id.ToString());
            }

            // product master
            if (errorMsg.Length == 0)
            {
                string sqlPM = "Select product_master_id from product_master where size_id = "
                               + obj.SizeId + " and color_id = " + obj.ColorId + " and type_id = " + obj.TypeId
                               + " and product_name = '" + obj.ProductName + "'";
                id = dal.GetSingleValue(sqlPM);
                if (id == null || id.ToString() == string.Empty)
                {
                    errorMsg.Append("Không tồn tại sản phẩm!!");
                }
                else
                {
                    obj.ProductMasterId = id.ToString();
                }

                // stock

                if (obj.ProductMasterId != null)
                {
                    IList<IList<object>> updateList = new List<IList<object>>();

                    string sqlSl =
                        "select stock_id, product_id, quantity, good_quantity from stock where product_master_id = '" +
                        obj.ProductMasterId + "' order by create_date desc ";
                    IList<IList<object>> listStock =
                        dal.GetListValue(sqlSl, 4);
                    if (listStock != null && listStock.Count > 0)
                    {
                        long quantity = obj.Quantity;
                        foreach (IList<object> list in listStock)
                        {
                            if(quantity == 0 )
                            {
                                break;
                            }
                            long goodQty = Int64.Parse(list[3].ToString());
                            long stockQty = Int64.Parse(list[2].ToString());
                            if(goodQty == 0)
                            {
                                continue;
                            }
                            if (quantity >= goodQty)
                            {
                                list[3] = 0;
                                quantity -= goodQty;
                                stockQty -= goodQty;
                                if (stockQty < 0)
                                {
                                    stockQty = 0;
                                }
                                list[2] = stockQty;
                            }
                            else
                            {
                                list[3] = goodQty - quantity;
                                stockQty -= quantity;
                                quantity = 0;
                                if (stockQty < 0)
                                {
                                    stockQty = 0;
                                }
                                list[2] = stockQty;
                            }
                            updateList.Add(list);
                            if (quantity == 0)
                            {
                                break;
                            }
                        }
                        if (quantity > 0)
                        {
                            // error
                        }
                        else if (updateList.Count > 0)
                        {
                            foreach (IList<object> list in updateList)
                            {
                                string strUpdateStock = "update stock set quantity = " + list[2].ToString() +
                                                        ", good_quantity = " + list[3].ToString()
                                                        + " where  stock_id = " + list[0].ToString() + "";
                                dal.ExecuteQuery(strUpdateStock);

                                int stockOutId = 0;
                                stockOutIdMap.TryGetValue(obj.deptId, out stockOutId);
                                if (stockOutId == 0)
                                {
                                    stockOutId = GetStockOutId(obj.deptId);
                                    stockOutIdMap[obj.deptId] = stockOutId;
                                }
                                id = dal.GetSingleValue("Select max(stock_out_detail_id) from stock_out_detail");
                                if (id == null || id.ToString() == string.Empty)
                                {
                                    id = 1;
                                }
                                else
                                {
                                    id = Convert.ToInt64(id.ToString()) + 1;
                                }
                                dal.ExecuteQuery("insert into stock_out_detail(stock_out_detail_id, stockout_id, product_id, product_master_id, quantity, good_quantity, create_date,update_date,create_id,update_id,exclusive_key,defect_status_id,description) values ("
                                                 + id
                                                 + ", " + stockOutId
                                                 + ", '" + list[1]
                                                 + "', '" + obj.ProductMasterId
                                                 + "', " + obj.Quantity + ", " + obj.Quantity + ", '" +
                                                 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" +
                                                 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") +
                                                 "','admin','admin',1,0,'Export goods')");
                            }
                        }
                    }
                }
            }
            if (errorMsg.Length == 0)
            {
                errorObject = null;
            }
            else
            {
                errorObject = new ErrorObject { ErrorMessage = errorMsg.ToString(), RowNumber = obj.Row };
            }
        }
Esempio n. 4
0
        private List<string> GetSizesList(Worksheet ws, List<ErrorObject> errorList)
        {
            List<string> list = new List<string>();

            // F
            Range range = ws.get_Range("H" + 1, "H" + 1);
            string name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name.Trim()))
            {
                list.Add(name.Trim());
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có Kích cỡ", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // G
            range = ws.get_Range("I" + 1, "I" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                list.Add(name.Trim());
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có Kích cỡ", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // H
            range = ws.get_Range("J" + 1, "J" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                list.Add(name.Trim());
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có Kích cỡ", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // I
            range = ws.get_Range("K" + 1, "K" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                list.Add(name.Trim());
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có Kích cỡ", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // J
            range = ws.get_Range("L" + 1, "L" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                list.Add(name.Trim());
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có Kích cỡ", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // K
            range = ws.get_Range("M" + 1, "M" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                list.Add(name.Trim());
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có Kích cỡ", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            // L
            range = ws.get_Range("N" + 1, "N" + 1);
            name = range.Value2 != null ? range.Value2.ToString() : "";
            if (!string.IsNullOrEmpty(name))
            {
                list.Add(name.Trim());
            }
            else
            {
                ErrorObject errorObject = new ErrorObject { ErrorMessage = "Dòng 1 không có department id", RowNumber = 1 };
                errorList.Add(errorObject);
            }

            return list;
        }