예제 #1
0
        /// <summary>
        /// GetData
        /// 제품 데이터와 해당 제품의 원부자재 목록 가져오기
        /// </summary>
        /// <param name="req">WasRequest</param>
        /// <returns>WasRequest</returns>
        public static DBTranSet GetData(DBTranSet req)
        {
            try
            {
                if (req.TranList[0].Parameter.GetValue("PURC_ID").ToStringNullToEmpty().IsNullOrEmpty() && req.TranList[0].Parameter.GetValue("PURC_NO").IsNullOrEmpty() == false)
                {
                    var id = DaoFactory.Instance.QueryForObject <string>("GetPurcIdByPurcNo", req.TranList[0].Parameter);
                    req.TranList[0].Parameter.SetValue("PURC_ID", id);
                }

                var data = DaoFactory.Instance.QueryForObject <PurcTranDataModel>("GetPurcTran", req.TranList[0].Parameter);
                var list = DaoFactory.Instance.QueryForList <PurcTranItemDataModel>("GetPurcTranItem", req.TranList[0].Parameter);

                req.TranList = new DBTranData[]
                {
                    new DBTranData()
                    {
                        Data = data
                    },
                    new DBTranData()
                    {
                        Data = list
                    }
                };
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #2
0
        public static DBTranSet GetSaleDashboard(DBTranSet req)
        {
            try
            {
                var data1 = DaoFactory.Instance.QueryForList <DataMap>("GetSaleDaily", req.TranList[0].Parameter);
                var data2 = DaoFactory.Instance.QueryForList <DataMap>("GetSaleMonthly", req.TranList[0].Parameter);

                req.TranList = new DBTranData[]
                {
                    new DBTranData()
                    {
                        Data = data1
                    },
                    new DBTranData()
                    {
                        Data = data2
                    }
                };
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #3
0
파일: BaseService.cs 프로젝트: JWPLAY/AUBE
        public static DBTranSet ProcedureCall(DBTranSet reqset)
        {
            try
            {
                if (reqset.TranList == null || reqset.TranList.Length == 0)
                {
                    throw new Exception("처리요청이 없습니다.");
                }

                foreach (DBTranData req in reqset.TranList)
                {
                    if (req.Parameter == null)
                    {
                        req.Parameter = new DataMap();
                    }
                    req.Parameter.SetValue("INS_USER", reqset.UserId);
                    DaoFactory.Instance.QueryForObject <int>(req.SqlId, req.Parameter);
                }
                return(reqset);
            }
            catch (Exception ex)
            {
                reqset.ErrorNumber  = ex.HResult;
                reqset.ErrorMessage = ex.Message;
                return(reqset);
            }
        }
예제 #4
0
        public static DBTranSet GetData(DBTranSet req)
        {
            try
            {
                var data = DaoFactory.Instance.QueryForObject <ProdTranDataModel>("GetProdTranData", req.TranList[0].Parameter);
                var list = DaoFactory.Instance.QueryForList <DataMap>("GetProdMaterials", req.TranList[0].Parameter);

                req.TranList = new DBTranData[]
                {
                    new DBTranData()
                    {
                        Data = data
                    },
                    new DBTranData()
                    {
                        Data = list
                    }
                };
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #5
0
        public static DBTranSet GetData(DBTranSet req)
        {
            try
            {
                var saletran = DaoFactory.Instance.QueryForObject <SaleTranDataModel>("GetSaleTran", req.TranList[0].Parameter);
                var saleitem = DaoFactory.Instance.QueryForList <SaleTranItemDataModel>("GetSaleTranItem", req.TranList[0].Parameter);

                req.TranList = new DBTranData[]
                {
                    new DBTranData()
                    {
                        Data = saletran
                    },
                    new DBTranData()
                    {
                        Data = saleitem
                    }
                };
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #6
0
        /// <summary>
        /// Delete
        /// 데이터 삭제(Delete)
        /// </summary>
        /// <param name="req">WasRequest</param>
        /// <returns>WasRequest</returns>
        public static DBTranSet Delete(DBTranSet req)
        {
            try
            {
                var map = DaoFactory.Instance.QueryForObject <PurcTranDataModel>("GetPurcTran", req.TranList[0].Parameter);
                if (map != null)
                {
                    //삭제 전에 재고 반영한다.
                    DaoFactory.Instance.QueryForObject <int>("BatchInventory", new DataMap()
                    {
                        { "TRAN_ID", req.TranList[0].Parameter.GetValue("PURC_ID") },
                        { "TRAN_TP", "PC" },
                        { "REG_TP", "DD" },
                        { "ITEM_ID", 0 },
                        { "INS_USER", req.TranList[0].Parameter.GetValue("INS_USER") }
                    });

                    //구매내역을 삭제한다.
                    DaoFactory.Instance.Delete("DeletePurcTran", req.TranList[0].Parameter);
                }
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #7
0
        /// <summary>
        /// GetData
        /// 제품 데이터와 해당 제품의 원부자재 목록 가져오기
        /// </summary>
        /// <param name="req">WasRequest</param>
        /// <returns>WasRequest</returns>
        public static DBTranSet GetData(DBTranSet req)
        {
            try
            {
                var customerData = DaoFactory.Instance.QueryForObject <DataMap>("SelectCustomer", req.TranList[0].Parameter);
                var phonesData   = DaoFactory.Instance.QueryForList <DataMap>("SelectCustomerPhones", req.TranList[0].Parameter);
                var addressData  = DaoFactory.Instance.QueryForList <DataMap>("SelectCustomerAddress", req.TranList[0].Parameter);

                req.TranList = new DBTranData[]
                {
                    new DBTranData()
                    {
                        Data = customerData
                    },
                    new DBTranData()
                    {
                        Data = phonesData
                    },
                    new DBTranData()
                    {
                        Data = addressData
                    }
                };

                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #8
0
        public static DBTranSet GetCodeHelpLookup(DBTranSet reqset)
        {
            try
            {
                if (reqset.TranList == null || reqset.TranList.Length == 0)
                {
                    throw new Exception("처리요청이 정확하지 않습니다.");
                }

                foreach (DBTranData req in reqset.TranList)
                {
                    IList <DataMap> list;
                    var             parentCode = req.Parameter.GetValue("PARENT_CODE").ToStringNullToEmpty().ToCamelCase();
                    switch (parentCode)
                    {
                    case "Module":
                    case "View":
                    case "Menu":
                    case "Group":
                    case "Role":
                    case "Help":
                    case "Code":
                    case "CodeGroup":
                    case "Customer":
                    case "Product":
                    case "AllProduct":
                    case "ProdProduct":
                    case "Material":
                    case "Purcitem":
                    case "Saleitem":
                    case "Department":
                    case "Employee":
                    case "Project":
                    case "Work":
                    case "Task":
                    case "MasterPlanResource":
                    case "MasterPlan":
                    case "System":
                        list = DaoFactory.Instance.QueryForList <DataMap>(string.Format("GetCodeHelp{0}List", parentCode), req.Parameter);
                        break;

                    default:
                        list = DaoFactory.Instance.QueryForList <DataMap>("GetCodeHelp", req.Parameter);
                        break;
                    }
                    req.Data = ConvertUtils.DataMapListToDataTable(list, req.SqlId);
                }

                return(reqset);
            }
            catch (Exception ex)
            {
                reqset.ErrorNumber  = ex.HResult;
                reqset.ErrorMessage = ex.Message;
                return(reqset);
            }
        }
예제 #9
0
파일: DBTranHelper.cs 프로젝트: JWPLAY/AUBE
 public static DBTranSet Execute(this DBTranSet reqset)
 {
     try
     {
         reqset.UserId = GlobalVar.Settings.GetValue("USER_ID").ToIntegerNullToZero();
         return((new DBTranController()).Execute(reqset));
     }
     catch
     {
         throw;
     }
 }
예제 #10
0
        /// <summary>
        /// CheckLoginUser
        /// 로그인 체크
        /// </summary>
        /// <param name="req">WasRequest</param>
        /// <returns>WasRequest</returns>
        public static DBTranSet CheckLoginUser(DBTranSet req)
        {
            try
            {
                req.TranList[0].Parameter.SetValue("USER_ID", null);
                var data = DaoFactory.Instance.QueryForObject <LoginUserDataModel>("GetLoginUser", req.TranList[0].Parameter);

                if (data == null)
                {
                    req.ErrorNumber  = -1;
                    req.ErrorMessage = "해당 아이디로 사용자를 찾을 수 없습니다.";
                    return(req);
                }

                if (data.USE_YN != "Y")
                {
                    req.ErrorNumber  = -2;
                    req.ErrorMessage = "사용 가능한 아이디가 아닙니다. 확인 후 다시 시도하세요!!!";
                    return(req);
                }

                if (data.IS_PW_CHECK != 1)
                {
                    req.ErrorNumber  = -3;
                    req.ErrorMessage = "비밀번호가 정확하지 않습니다. 확인 후 다시 시도하세요!!!";
                    return(req);
                }

                req.TranList[0].Parameter.SetValue("USER_ID", data.USER_ID);

                try
                {
                    DaoFactory.Instance.Insert("InsertLoginLog", req.TranList[0].Parameter);
                }
                catch (Exception ex)
                {
                    throw new Exception("로그인로그 저장 중 오류가 발생하였습니다.\r\n" + ErrorUtils.GetMessage(ex));
                }

                req.TranList[0].Data = data;
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #11
0
 /// <summary>
 /// GetStyles
 /// 스타일 정보
 /// </summary>
 /// <param name="req">WasRequest</param>
 /// <returns>WasRequest</returns>
 public static DBTranSet GetStyles(DBTranSet req)
 {
     try
     {
         var list = DaoFactory.Instance.QueryForList <DataMap>("GetStyles", req.TranList[0].Parameter);
         req.TranList[0].Data = ConvertUtils.DataMapListToDataTable(list, req.TranList[0].SqlId);
         return(req);
     }
     catch (Exception ex)
     {
         req.ErrorNumber  = ex.HResult;
         req.ErrorMessage = ex.Message;
         return(req);
     }
 }
예제 #12
0
 public static DBTranSet GetInventoryList(DBTranSet req)
 {
     try
     {
         var list = DaoFactory.Instance.QueryForList <InventoryListModel>("GetInventoryList", req.TranList[0].Parameter);
         req.TranList[0].Data = list;
         return(req);
     }
     catch (Exception ex)
     {
         req.ErrorNumber  = ex.HResult;
         req.ErrorMessage = ex.Message;
         return(req);
     }
 }
예제 #13
0
 public static DBTranSet GetData(DBTranSet req)
 {
     try
     {
         var data = DaoFactory.Instance.QueryForObject <ProdTranDataModel>("GetProdTranData", req.TranList[0].Parameter);
         req.TranList[0].Data = data;
         return(req);
     }
     catch (Exception ex)
     {
         req.ErrorNumber  = ex.HResult;
         req.ErrorMessage = ex.Message;
         return(req);
     }
 }
예제 #14
0
        public static DBTranSet ChangePassword(DBTranSet req)
        {
            try
            {
                DataMap map = req.TranList[0].Data as DataMap;
                map.SetValue("INS_USER", req.UserId);

                var data = DaoFactory.Instance.QueryForObject <LoginUserDataModel>("GetLoginUser", map);

                if (data == null)
                {
                    req.ErrorNumber  = -1;
                    req.ErrorMessage = "해당 아이디로 사용자를 찾을 수 없습니다.";
                    return(req);
                }

                if (data.USE_YN != "Y")
                {
                    req.ErrorNumber  = -2;
                    req.ErrorMessage = "사용 가능한 아이디가 아닙니다. 확인 후 다시 시도하세요!!!";
                    return(req);
                }

                if (data.IS_PW_CHECK != 1)
                {
                    req.ErrorNumber  = -3;
                    req.ErrorMessage = "비밀번호가 정확하지 않습니다. 확인 후 다시 시도하세요!!!";
                    return(req);
                }

                map.SetValue("USER_ID", data.USER_ID);
                map.SetValue("LOGIN_PW", map.GetValue("CHG_LOGIN_PW"));

                DaoFactory.Instance.Update("ChangePassword", map);
                req.ErrorNumber  = 0;
                req.ErrorMessage = "SUCCESS";
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #15
0
파일: BaseService.cs 프로젝트: JWPLAY/AUBE
        /// <summary>
        /// Delete
        /// 데이터 삭제(Delete)
        /// </summary>
        /// <param name="req">WasRequest</param>
        /// <returns>WasRequest</returns>
        public static DBTranSet Delete(DBTranSet reqset)
        {
            try
            {
                if (reqset.TranList == null || reqset.TranList.Length == 0)
                {
                    throw new Exception("처리요청이 없습니다.");
                }

                foreach (DBTranData req in reqset.TranList)
                {
                    DataMap parameter = null;
                    if (req.Data == null)
                    {
                        continue;
                    }
                    if (req.Data.GetType() == typeof(DataMap))
                    {
                        parameter = (req.Data as DataMap);
                    }
                    else if (req.Data.GetType() == typeof(DataTable))
                    {
                        parameter = (req.Data as DataTable).ToDataMap();
                    }
                    else
                    {
                        continue;
                    }

                    parameter.SetValue("INS_USER", reqset.UserId);
                    var map = DaoFactory.Instance.QueryForObject <DataMap>(string.Format("Select{0}", req.SqlId), parameter);
                    if (map != null)
                    {
                        DaoFactory.Instance.Insert("Delete{0}", parameter);
                    }
                }
                return(reqset);
            }
            catch (Exception ex)
            {
                reqset.ErrorNumber  = ex.HResult;
                reqset.ErrorMessage = ex.Message;
                return(reqset);
            }
        }
예제 #16
0
 /// <summary>
 /// SaveBookmark
 /// 북마크 저장
 /// </summary>
 /// <param name="req">WasRequest</param>
 /// <returns>WasRequest</returns>
 public static DBTranSet SaveBookmark(DBTranSet req)
 {
     try
     {
         var map = DaoFactory.Instance.QueryForObject <DataMap>("SelectBookmark", req.TranList[0].Parameter);
         if (map == null || map.GetValue("USER_ID") == null)
         {
             DaoFactory.Instance.Insert("InsertBookmark", req.TranList[0].Parameter);
         }
         return(req);
     }
     catch (Exception ex)
     {
         req.ErrorNumber  = ex.HResult;
         req.ErrorMessage = ex.Message;
         return(req);
     }
 }
예제 #17
0
 /// <summary>
 /// Delete
 /// 데이터 삭제(Delete)
 /// </summary>
 /// <param name="req">WasRequest</param>
 /// <returns>WasRequest</returns>
 public static DBTranSet Delete(DBTranSet req)
 {
     try
     {
         var map = DaoFactory.Instance.QueryForObject <DataMap>("SelectCustomer", req.TranList[0].Parameter);
         if (map != null)
         {
             DaoFactory.Instance.Insert("DeleteCustomer", req.TranList[0].Parameter);
         }
         return(req);
     }
     catch (Exception ex)
     {
         req.ErrorNumber  = ex.HResult;
         req.ErrorMessage = ex.Message;
         return(req);
     }
 }
예제 #18
0
        public static DBTranSet ClearPassword(DBTranSet req)
        {
            try
            {
                DataMap data = req.TranList[0].Data as DataMap;
                data.SetValue("INS_USER", req.UserId);

                DaoFactory.Instance.Update("ClearPassword", data);
                req.ErrorNumber  = 0;
                req.ErrorMessage = "SUCCESS";
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #19
0
        public DBTranSet Execute(DBTranSet req)
        {
            var namespaceName = string.Format("JW.AUBE.Service.Services.{0}Service", req.ServiceId);
            var methodName    = req.ProcessId;

            try
            {
                Logger.Info(string.Format("DBTranController=> {0}.{1}", namespaceName, methodName));
                var result = (DBTranSet)TypeUtils.InvokeMethodByParam(assemblyName, namespaceName, methodName, req);
                return(result);
            }
            catch (Exception ex)
            {
                Logger.Error("DBTranController=> " + ex.Message);
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #20
0
 /// <summary>
 /// GetFormData
 /// 화면정보 가져오기
 /// </summary>
 /// <param name="req">WasRequest</param>
 /// <returns>WasRequest</returns>
 public static DBTranSet GetFormData(DBTranSet req)
 {
     try
     {
         var            data = DaoFactory.Instance.QueryForObject <DataMap>("GetViewData", req.TranList[0].Parameter);
         List <DataMap> list = new List <DataMap>();
         if (data != null)
         {
             list.Add(data);
         }
         req.TranList[0].Data = ConvertUtils.DataMapListToDataTable(list, "GetFormData");
         return(req);
     }
     catch (Exception ex)
     {
         req.ErrorNumber  = ex.HResult;
         req.ErrorMessage = ex.Message;
         return(req);
     }
 }
예제 #21
0
 /// <summary>
 /// Logout
 /// 로그아웃
 /// </summary>
 /// <param name="req">WasRequest</param>
 /// <returns>WasRequest</returns>
 public static DBTranSet Logout(DBTranSet req)
 {
     try
     {
         try
         {
             DaoFactory.Instance.Update("UpdateLogout", req.TranList[0].Parameter);
         }
         catch (Exception ex)
         {
             throw new Exception("로그아웃 정보 저장 중 오류가 발생하였습니다.\r\n" + ErrorUtils.GetMessage(ex));
         }
         return(req);
     }
     catch (Exception ex)
     {
         req.ErrorNumber  = ex.HResult;
         req.ErrorMessage = ex.Message;
         return(req);
     }
 }
예제 #22
0
        public static DBTranSet GetColumnList(DBTranSet reqset)
        {
            try
            {
                if (reqset.TranList == null || reqset.TranList.Length == 0)
                {
                    throw new Exception("처리요청이 없습니다.");
                }

                foreach (DBTranData req in reqset.TranList)
                {
                    req.Parameter.SetValue("INS_USER", reqset.UserId);
                    req.Data = DaoFactory.Instance.QueryForList <ColumnListModel>(req.SqlId, req.Parameter);
                }
                return(reqset);
            }
            catch (Exception ex)
            {
                reqset.ErrorNumber  = ex.HResult;
                reqset.ErrorMessage = ex.Message;
                return(reqset);
            }
        }
예제 #23
0
        public static DBTranSet GetSaleStat(DBTranSet req)
        {
            try
            {
                var data1 = DaoFactory.Instance.QueryForList <DataMap>("GetSaleProductList", req.TranList[0].Parameter);
                var data2 = DaoFactory.Instance.QueryForList <DataMap>("GetSaleCustomerList", req.TranList[0].Parameter);
                var data3 = DaoFactory.Instance.QueryForList <DataMap>("GetSaleCategoryList", req.TranList[0].Parameter);
                var data4 = DaoFactory.Instance.QueryForList <DataMap>("GetSalePayTypeList", req.TranList[0].Parameter);

                req.TranList = new DBTranData[]
                {
                    new DBTranData()
                    {
                        Data = data1
                    },
                    new DBTranData()
                    {
                        Data = data2
                    },
                    new DBTranData()
                    {
                        Data = data3
                    },
                    new DBTranData()
                    {
                        Data = data4
                    }
                };
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #24
0
        public static DBTranSet Save(DBTranSet req)
        {
            bool isTran = false;

            try
            {
                if (req == null)
                {
                    throw new Exception("처리할 요청이 정확하지 않습니다.");
                }

                if (req.TranList == null || req.TranList.Length == 0)
                {
                    throw new Exception("처리할 데이터가 없습니다.");
                }

                DaoFactory.Instance.BeginTransaction();
                isTran = true;

                try
                {
                    object prod_id = null;

                    if (req.TranList.Length > 0)
                    {
                        if (req.TranList[0].Data == null)
                        {
                            throw new Exception("저장할 데이터가 존재하지 않습니다.");
                        }

                        DataMap data = (req.TranList[0].Data as DataTable).ToDataMapList()[0];

                        if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "INSERT")
                        {
                            //생산트랜 저장
                            prod_id = DaoFactory.Instance.Insert("InsertProdTran", data);

                            //재고반영
                            DaoFactory.Instance.QueryForObject <int>("BatchInventory", new DataMap()
                            {
                                { "TRAN_ID", prod_id },
                                { "TRAN_TP", "PR" },
                                { "REG_TP", "II" },
                                { "INS_USER", data.GetValue("INS_USER") }
                            });
                        }
                        else if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "UPDATE")
                        {
                            prod_id = data.GetValue("PROD_ID");

                            //수정 전 재고반영(-)
                            DaoFactory.Instance.QueryForObject <int>("BatchInventory", new DataMap()
                            {
                                { "TRAN_ID", prod_id },
                                { "TRAN_TP", "PR" },
                                { "REG_TP", "UD" },
                                { "INS_USER", data.GetValue("INS_USER") }
                            });

                            //생산수정
                            DaoFactory.Instance.Update("UpdateProdTran", data);

                            //수정 후 재고반영(+)
                            DaoFactory.Instance.QueryForObject <int>("BatchInventory", new DataMap()
                            {
                                { "TRAN_ID", prod_id },
                                { "TRAN_TP", "PR" },
                                { "REG_TP", "UI" },
                                { "INS_USER", data.GetValue("INS_USER") }
                            });
                        }
                        else if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "DELETE")
                        {
                            prod_id = data.GetValue("PROD_ID");

                            //재고반영
                            DaoFactory.Instance.QueryForObject <int>("BatchInventory", new DataMap()
                            {
                                { "TRAN_ID", prod_id },
                                { "TRAN_TP", "PR" },
                                { "REG_TP", "DD" },
                                { "INS_USER", data.GetValue("INS_USER") }
                            });

                            //생산트랜삭제
                            DaoFactory.Instance.Update("DeleteProdTran", data);
                        }
                        req.TranList[0].ErrorNumber  = 0;
                        req.TranList[0].ErrorMessage = "SUCCESS";
                        req.TranList[0].ReturnValue  = prod_id;
                    }

                    if (isTran)
                    {
                        DaoFactory.Instance.CommitTransaction();
                    }
                }
                catch (Exception ex)
                {
                    if (isTran)
                    {
                        DaoFactory.Instance.RollBackTransaction();
                    }

                    throw new Exception(ex.Message);
                }
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #25
0
파일: BaseService.cs 프로젝트: JWPLAY/AUBE
        /// <summary>
        /// Save
        /// 데이터 저장(Insert, Update)
        /// </summary>
        /// <param name="req">WasRequest</param>
        /// <returns>WasRequest</returns>
        public static DBTranSet Save(DBTranSet req)
        {
            bool   isTran   = false;
            string keyField = string.Empty;
            object keyValue = null;
            bool   isKey    = false;

            try
            {
                if (req.IsTransaction)
                {
                    DaoFactory.Instance.BeginTransaction();
                    isTran = true;
                }

                try
                {
                    foreach (DBTranData data in req.TranList)
                    {
                        if (data.Data == null)
                        {
                            continue;
                        }

                        if (data.Data.GetType() == typeof(DataTable) && (data.Data as DataTable).Rows.Count == 0)
                        {
                            continue;
                        }

                        IList <DataMap> list = null;

                        if (data.Data.GetType() == typeof(DataTable))
                        {
                            list = (data.Data as DataTable).ToDataMapList();
                        }
                        else if (data.Data.GetType() == typeof(DataMap))
                        {
                            list = new List <DataMap>();
                            list.Add((data.Data as DataMap));
                        }
                        else
                        {
                            continue;
                        }

                        foreach (DataMap map in list)
                        {
                            map.SetValue("INS_USER", req.UserId);

                            if (isKey &&
                                data.IsMaster == false &&
                                keyField.ToStringNullToEmpty() != "" &&
                                keyValue.ToStringNullToEmpty() != "")
                            {
                                map.SetValue(keyField, keyValue);
                            }

                            if (map.GetValue("ROWSTATE").ToStringNullToEmpty() == "INSERT")
                            {
                                keyValue = DaoFactory.Instance.Insert(string.Format("Insert{0}", data.SqlId), map);
                            }
                            else if (map.GetValue("ROWSTATE").ToStringNullToEmpty() == "UPDATE")
                            {
                                DaoFactory.Instance.Update(string.Format("Update{0}", data.SqlId), map);
                                if (data.KeyField.ToStringNullToEmpty() != "")
                                {
                                    keyValue = map.GetValue(data.KeyField);
                                }
                            }
                            else if (map.GetValue("ROWSTATE").ToStringNullToEmpty() == "DELETE")
                            {
                                DaoFactory.Instance.Update(string.Format("Delete{0}", data.SqlId), map);
                                if (data.KeyField.ToStringNullToEmpty() != "")
                                {
                                    keyValue = map.GetValue(data.KeyField);
                                }
                            }
                            else if (map.GetValue("ROWSTATE").ToStringNullToEmpty() == "UPSERT")
                            {
                                DaoFactory.Instance.Insert(string.Format("Upsert{0}", data.SqlId), map);
                                if (data.KeyField.ToStringNullToEmpty() != "")
                                {
                                    keyValue = map.GetValue(data.KeyField);
                                }
                            }

                            if (data.IsMaster &&
                                data.KeyField.ToStringNullToEmpty() != "")
                            {
                                isKey    = true;
                                keyField = data.KeyField;
                            }
                        }
                        data.ReturnValue   = keyValue;
                        data.ReturnMessage = "SUCCESS";
                    }

                    if (req.IsTransaction && isTran)
                    {
                        DaoFactory.Instance.CommitTransaction();
                    }
                }
                catch (Exception ex)
                {
                    if (req.IsTransaction && isTran)
                    {
                        DaoFactory.Instance.RollBackTransaction();
                    }

                    throw new Exception(ex.Message);
                }
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #26
0
        public static DBTranSet Save(DBTranSet req)
        {
            bool isTran = false;

            try
            {
                if (req == null)
                {
                    throw new Exception("처리할 요청이 정확하지 않습니다.");
                }

                if (req.TranList == null || req.TranList.Length == 0)
                {
                    throw new Exception("처리할 데이터가 없습니다.");
                }

                DaoFactory.Instance.BeginTransaction();
                isTran = true;

                try
                {
                    if (req.TranList.Length > 0)
                    {
                        if (req.TranList[0].Data == null)
                        {
                            throw new Exception("저장할 데이터가 존재하지 않습니다.");
                        }

                        DataMap data = (req.TranList[0].Data as DataTable).ToDataMapList()[0];

                        if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "INSERT")
                        {
                            DaoFactory.Instance.Insert("InsertCostPrice", data);
                        }
                        else if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "UPDATE")
                        {
                            DaoFactory.Instance.Update("UpdateCostPrice", data);
                        }
                        else if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "DELETE")
                        {
                            DaoFactory.Instance.Update("DeleteCostPrice", data);
                        }
                        req.TranList[0].ErrorNumber  = 0;
                        req.TranList[0].ErrorMessage = "SUCCESS";
                        req.TranList[0].ReturnValue  = null;
                    }

                    if (isTran)
                    {
                        DaoFactory.Instance.CommitTransaction();
                    }
                }
                catch (Exception ex)
                {
                    if (isTran)
                    {
                        DaoFactory.Instance.RollBackTransaction();
                    }

                    throw new Exception(ex.Message);
                }
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #27
0
        public static DBTranSet SaveSalesPrice(DBTranSet req)
        {
            bool isTran = false;

            try
            {
                if (req == null)
                {
                    throw new Exception("처리할 요청이 정확하지 않습니다.");
                }

                if (req.TranList == null || req.TranList.Length == 0)
                {
                    throw new Exception("처리할 데이터가 없습니다.");
                }

                DaoFactory.Instance.BeginTransaction();
                isTran = true;

                try
                {
                    object product_id = null;
                    object reg_id     = null;

                    if (req.TranList.Length > 0)
                    {
                        if (req.TranList[0].Data == null)
                        {
                            throw new Exception("상품정보를 저장할 데이터가 존재하지 않습니다.");
                        }

                        DataMap data = req.TranList[0].Data as DataMap;
                        data.SetValue("INS_USER", req.UserId);

                        product_id = data.GetValue("PRODUCT_ID");

                        if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "INSERT")
                        {
                            reg_id = DaoFactory.Instance.Insert("InsertSalesPrice", data);
                        }
                        else if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "UPDATE")
                        {
                            reg_id = data.GetValue("REG_ID");
                            DaoFactory.Instance.Update("UpdateSalesPrice", data);
                        }
                        else if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "DELETE")
                        {
                            reg_id = data.GetValue("REG_ID");
                            DaoFactory.Instance.Update("DeleteSalesPrice", data);
                        }
                        req.TranList[0].ErrorNumber  = 0;
                        req.TranList[0].ErrorMessage = "SUCCESS";
                        req.TranList[0].ReturnValue  = reg_id;
                    }

                    if (isTran)
                    {
                        DaoFactory.Instance.CommitTransaction();
                    }
                }
                catch (Exception ex)
                {
                    if (isTran)
                    {
                        DaoFactory.Instance.RollBackTransaction();
                    }

                    throw new Exception(ex.Message);
                }
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #28
0
        public static DBTranSet Save(DBTranSet req)
        {
            bool isTran = false;

            try
            {
                if (req == null)
                {
                    throw new Exception("처리할 요청이 정확하지 않습니다.");
                }

                if (req.TranList == null || req.TranList.Length == 0)
                {
                    throw new Exception("처리할 데이터가 없습니다.");
                }

                DaoFactory.Instance.BeginTransaction();
                isTran = true;

                try
                {
                    object product_id   = null;
                    object reg_id       = null;
                    string product_code = string.Empty;

                    //상품정보 저장
                    if (req.TranList.Length > 0)
                    {
                        if (req.TranList[0].Data == null)
                        {
                            throw new Exception("상품정보를 저장할 데이터가 존재하지 않습니다.");
                        }

                        DataMap data = req.TranList[0].Data as DataMap;
                        data.SetValue("INS_USER", req.UserId);

                        if (string.IsNullOrEmpty(data.GetValue("PRODUCT_CODE").ToStringNullToEmpty()))
                        {
                            product_code = CommonDataUtils.GetProductCode(data.GetValue("PRODUCT_TYPE").ToString());
                            data.SetValue("PRODUCT_CODE", product_code);
                        }

                        if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "INSERT")
                        {
                            product_id = DaoFactory.Instance.Insert("InsertProduct", data);
                        }
                        else if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "UPDATE")
                        {
                            DaoFactory.Instance.Update("UpdateProduct", data);
                            product_id = data.GetValue("PRODUCT_ID");
                        }
                        else if (data.GetValue("ROWSTATE").ToStringNullToEmpty() == "DELETE")
                        {
                            DaoFactory.Instance.Update("DeleteProduct", data);
                            product_id = data.GetValue("PRODUCT_ID");
                        }
                        req.TranList[0].ErrorNumber  = 0;
                        req.TranList[0].ErrorMessage = "SUCCESS";
                        req.TranList[0].ReturnValue  = product_id;
                    }

                    //원부자재정보 저장
                    if (req.TranList.Length > 1)
                    {
                        if (req.TranList[1].Data != null && (req.TranList[1].Data as DataTable).Rows.Count > 0)
                        {
                            IList <DataMap> list = (req.TranList[1].Data as DataTable).ToDataMapList();
                            foreach (DataMap map in list)
                            {
                                map.SetValue("PRODUCT_ID", product_id);
                                map.SetValue("INS_USER", req.UserId);

                                if (map.GetValue("ROWSTATE").ToStringNullToEmpty() == "INSERT")
                                {
                                    reg_id = DaoFactory.Instance.Insert("InsertProductMaterial", map);
                                }
                                else if (map.GetValue("ROWSTATE").ToStringNullToEmpty() == "UPDATE")
                                {
                                    DaoFactory.Instance.Update("UpdateProductMaterial", map);
                                    reg_id = map.GetValue("REG_ID");
                                }
                                else if (map.GetValue("ROWSTATE").ToStringNullToEmpty() == "DELETE")
                                {
                                    DaoFactory.Instance.Update("DeleteProductMaterial", map);
                                    reg_id = map.GetValue("REG_ID");
                                }
                            }
                            req.TranList[1].ErrorNumber  = 0;
                            req.TranList[1].ErrorMessage = "SUCCESS";
                            req.TranList[1].ReturnValue  = product_id;
                        }
                    }

                    if (isTran)
                    {
                        DaoFactory.Instance.CommitTransaction();
                    }
                }
                catch (Exception ex)
                {
                    if (isTran)
                    {
                        DaoFactory.Instance.RollBackTransaction();
                    }

                    throw new Exception(ex.Message);
                }
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #29
0
        /// <summary>
        /// Save
        /// 데이터 저장(Insert, Update)
        /// </summary>
        /// <param name="req">WasRequest</param>
        /// <returns>WasRequest</returns>
        public static DBTranSet Save(DBTranSet req)
        {
            bool isTran = false;

            try
            {
                if (req == null)
                {
                    throw new Exception("처리할 요청이 정확하지 않습니다.");
                }

                if (req.TranList == null || req.TranList.Length == 0)
                {
                    throw new Exception("처리할 데이터가 없습니다.");
                }

                DaoFactory.Instance.BeginTransaction();
                isTran = true;

                try
                {
                    string rowState       = string.Empty;
                    object customer_id    = null;
                    object biz_reg_id     = null;
                    object biz_address_id = null;

                    //거래처정보 저장
                    if (req.TranList.Length > 0)
                    {
                        if (req.TranList[0].Data == null || (req.TranList[0].Data as DataTable).Rows.Count == 0)
                        {
                            throw new Exception("거래처정보를 저장할 데이터가 존재하지 않습니다.");
                        }

                        DataMap data = (req.TranList[0].Data as DataTable).ToDataMapList()[0];
                        data.SetValue("INS_USER", req.UserId);

                        rowState = data.GetValue("ROWSTATE").ToStringNullToEmpty();

                        //주소등록
                        if (rowState == "INSERT" || rowState == "UPDATE")
                        {
                            var addr = DaoFactory.Instance.QueryForObject("GetAddressId", new DataMap()
                            {
                                { "ADDRESS_ID", data.GetValue("ADDRESS_ID") }
                            });
                            if (addr.ToStringNullToEmpty().IsNullOrEmpty())
                            {
                                if (!data.GetValue("POST_NO").ToStringNullToEmpty().IsNullOrEmpty() ||
                                    !data.GetValue("ZONE_NO").ToStringNullToEmpty().IsNullOrEmpty() ||
                                    !data.GetValue("ADDRESS1").ToStringNullToEmpty().IsNullOrEmpty() ||
                                    !data.GetValue("ADDRESS2").ToStringNullToEmpty().IsNullOrEmpty())
                                {
                                    biz_address_id = DaoFactory.Instance.Insert("InsertAddress", data);

                                    if (biz_address_id.ToStringNullToEmpty().IsNullOrEmpty())
                                    {
                                        throw new Exception("사업자정보의 주소를 저장하는 중 오류가 발생하였습니다.");
                                    }

                                    data.SetValue("ADDRESS_ID", biz_address_id);
                                }
                            }
                            else
                            {
                                DaoFactory.Instance.Update("UpdateAddress", data);
                            }

                            var bizId = DaoFactory.Instance.QueryForObject("GetBizRegId", new DataMap()
                            {
                                { "BIZ_REG_ID", data.GetValue("BIZ_REG_ID") }
                            });
                            if (bizId.ToStringNullToEmpty().IsNullOrEmpty())
                            {
                                if (!data.GetValue("BIZ_REG_NO").ToStringNullToEmpty().IsNullOrEmpty())
                                {
                                    biz_reg_id = DaoFactory.Instance.Insert("InsertBizRegCe", data);

                                    if (biz_reg_id.ToStringNullToEmpty().IsNullOrEmpty())
                                    {
                                        throw new Exception("사업자정보를 저장하지 못했습니다.");
                                    }

                                    data.SetValue("BIZ_REG_ID", biz_reg_id);
                                }
                            }
                            else
                            {
                                DaoFactory.Instance.Update("UpdateBizRegCe", data);
                            }
                        }

                        if (rowState == "INSERT")
                        {
                            customer_id = DaoFactory.Instance.Insert("InsertCustomer", data);

                            if (customer_id.ToStringNullToEmpty().IsNullOrEmpty())
                            {
                                throw new Exception("거래처정보를 저장하지 못했습니다.");
                            }
                        }
                        else if (rowState == "UPDATE")
                        {
                            DaoFactory.Instance.Update("UpdateCustomer", data);
                            customer_id = data.GetValue("CUSTOMER_ID");
                        }
                        else if (rowState == "DELETE")
                        {
                            DaoFactory.Instance.Update("DeleteCustomer", data);
                            customer_id = data.GetValue("CUSTOMER_ID");
                        }
                        req.TranList[0].ErrorNumber  = 0;
                        req.TranList[0].ErrorMessage = "SUCCESS";
                        req.TranList[0].ReturnValue  = customer_id;
                    }

                    if (isTran)
                    {
                        DaoFactory.Instance.CommitTransaction();
                    }
                }
                catch (Exception ex)
                {
                    if (isTran)
                    {
                        DaoFactory.Instance.RollBackTransaction();
                    }

                    throw new Exception(ex.Message);
                }
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }
예제 #30
0
        public static DBTranSet SaveCustomerAddress(DBTranSet req)
        {
            bool isTran = false;

            try
            {
                if (req == null)
                {
                    throw new Exception("처리할 요청이 정확하지 않습니다.");
                }

                if (req.TranList == null || req.TranList.Length == 0)
                {
                    throw new Exception("처리할 데이터가 없습니다.");
                }

                DaoFactory.Instance.BeginTransaction();
                isTran = true;

                try
                {
                    string rowState   = string.Empty;
                    object reg_id     = null;
                    object address_id = null;

                    if (req.TranList.Length > 0)
                    {
                        if (req.TranList[0].Data == null || (req.TranList[0].Data as DataTable).Rows.Count == 0)
                        {
                            throw new Exception("저장할 데이터가 존재하지 않습니다.");
                        }

                        foreach (DataRow row in (req.TranList[0].Data as DataTable).Rows)
                        {
                            DataMap map = row.ToDataMap();
                            if (map == null || map.Count == 0)
                            {
                                continue;
                            }

                            map.SetValue("INS_USER", req.UserId);
                            rowState = map.GetValue("ROWSTATE").ToString();

                            if (rowState == "INSERT" || rowState == "UPDATE")
                            {
                                var addr = DaoFactory.Instance.QueryForObject("GetAddressId", new DataMap()
                                {
                                    { "ADDRESS_ID", map.GetValue("ADDRESS_ID") }
                                });
                                if (addr.ToStringNullToEmpty().IsNullOrEmpty())
                                {
                                    if (!map.GetValue("POST_NO").ToStringNullToEmpty().IsNullOrEmpty() ||
                                        !map.GetValue("ZONE_NO").ToStringNullToEmpty().IsNullOrEmpty() ||
                                        !map.GetValue("ADDRESS1").ToStringNullToEmpty().IsNullOrEmpty() ||
                                        !map.GetValue("ADDRESS2").ToStringNullToEmpty().IsNullOrEmpty())
                                    {
                                        address_id = DaoFactory.Instance.Insert("InsertAddress", map);

                                        if (address_id.ToStringNullToEmpty().IsNullOrEmpty())
                                        {
                                            throw new Exception("주소를 저장하는 중 오류가 발생하였습니다.");
                                        }

                                        map.SetValue("ADDRESS_ID", address_id);
                                    }
                                }
                                else
                                {
                                    DaoFactory.Instance.Update("UpdateAddress", map);
                                }
                            }

                            if (rowState == "INSERT")
                            {
                                reg_id = DaoFactory.Instance.Insert("InsertCustomerAddress", map);

                                if (reg_id.ToStringNullToEmpty().IsNullOrEmpty())
                                {
                                    throw new Exception("거래처 주소정보를 저장하지 못했습니다.");
                                }
                            }
                            else if (rowState == "UPDATE")
                            {
                                DaoFactory.Instance.Update("UpdateCustomerAddress", map);
                                reg_id = map.GetValue("REG_ID");
                            }
                            else if (rowState == "DELETE")
                            {
                                DaoFactory.Instance.Update("DeleteCustomer", map);
                                reg_id = map.GetValue("REG_ID");
                            }
                            req.TranList[0].ErrorNumber  = 0;
                            req.TranList[0].ErrorMessage = "SUCCESS";
                            req.TranList[0].ReturnValue  = reg_id;
                        }
                    }

                    if (isTran)
                    {
                        DaoFactory.Instance.CommitTransaction();
                    }
                }
                catch (Exception ex)
                {
                    if (isTran)
                    {
                        DaoFactory.Instance.RollBackTransaction();
                    }

                    throw new Exception(ex.Message);
                }
                return(req);
            }
            catch (Exception ex)
            {
                req.ErrorNumber  = ex.HResult;
                req.ErrorMessage = ex.Message;
                return(req);
            }
        }