public HttpResponseMessage Delete()
        {
            bal = new T_Planing_Action_AppliedCoatingBAL();
            ResposeType         response   = new ResposeType();
            HttpResponseMessage mapMessage = null;

            T_Planing_Action_AppliedCoatingDTO dto = null;

            try
            {
                var context = HttpContext.Current;
                //context.Response.ContentType = "multipart/form-data";

                dto = ConvertX.GetReqeustForm <T_Planing_Action_AppliedCoatingDTO>();

                logger.debug("Delete dto:" + dto.ToString());
                bal.Delete(dto);

                response.statusCode = true;
                response.data       = "Delete success";
            }
            catch (Exception ex)
            {
                logger.error("Delete error:" + ex.ToString());
                response.statusText = ex.ToString();
            }

            mapMessage = Request.CreateResponse(HttpStatusCode.OK, response);
            return(mapMessage);
        }
        public HttpResponseMessage SearchAllInformations()
        {
            bal = new T_Planing_Action_AppliedCoatingBAL();
            ResposeType         response   = new ResposeType();
            HttpResponseMessage mapMessage = null;

            T_Planing_Action_AppliedCoatingDTO dto = null;
            List <T_Planing_Action_AppliedCoating_InformationDTO> objList = null;

            try
            {
                var context = HttpContext.Current;

                dto = ConvertX.GetReqeustForm <T_Planing_Action_AppliedCoatingDTO>();

                logger.debug("PlanActionAppliedCoatingController SearchAllInformations dto:" + dto.ToString());
                objList = bal.FindAllImformations(dto);

                response.statusCode = true;
                response.data       = objList;
            }
            catch (Exception ex)
            {
                logger.error("PlanActionAppliedCoatingController SearchAllInformations error:" + ex.ToString());
                response.statusText = ex.ToString();
            }

            mapMessage = Request.CreateResponse(HttpStatusCode.OK, response);
            return(mapMessage);
        }
        public HttpResponseMessage Search()
        {
            bal = new T_Planing_Action_AppliedCoatingBAL();
            ResposeType         response   = new ResposeType();
            HttpResponseMessage mapMessage = null;

            T_Planing_Action_AppliedCoatingDTO        dto     = null;
            List <T_Planing_Action_AppliedCoatingDTO> objList = null;

            try
            {
                var context = HttpContext.Current;

                dto = ConvertX.GetReqeustForm <T_Planing_Action_AppliedCoatingDTO>();

                logger.debug("Search dto:" + dto.ToString());
                objList = bal.FindByObjList(dto);

                foreach (T_Planing_Action_AppliedCoatingDTO mainDTO in objList)
                {
                    //Find detail and push to main object in list
                    T_Planing_Action_AppliedCoatingDTO detailDTO = new T_Planing_Action_AppliedCoatingDTO();
                    detailDTO.PID = mainDTO.PID;
                    detailDTO     = bal.FindByPK(detailDTO);

                    mainDTO.UploadFileList  = detailDTO.UploadFileList;
                    mainDTO.CoatingInfoList = detailDTO.CoatingInfoList;

                    if (!ObjUtil.isEmpty(mainDTO.UploadFileList))
                    {
                        foreach (T_Planing_File file in mainDTO.UploadFileList)
                        {
                            file.HtmlFile = System.Web.VirtualPathUtility.ToAbsolute(planPath + "/" + file.PID + "/" + file.UploadType + "/" + file.FileName);
                            string fullPath = context.Server.MapPath(planPath) + @"\" + file.PID + @"\" + file.UploadType + @"\" + file.FileName;
                            file.Base64File = Utility.convertFileToBase64(fullPath);
                        }
                    }
                }

                response.statusCode = true;
                response.data       = objList;
            }
            catch (Exception ex)
            {
                logger.error("Search error:" + ex.ToString());
                response.statusText = ex.ToString();
            }

            mapMessage = Request.CreateResponse(HttpStatusCode.OK, response);
            return(mapMessage);
        }
        public T_Planing_Action_AppliedCoatingDTO FindByPK(object data)
        {
            List <SqlParameter> parameterList = new List <SqlParameter>();
            var obj = new T_Planing_Action_AppliedCoatingDTO();


            dataTable = null;

            string procName = "sp_T_Planing_Action_AppliedCoating_FindByPK";

            try
            {
                dataTable = new DataTable();
                adapter   = new SqlDataAdapter();
                SqlConnection conn = OpenConnection();
                if (data != null)
                {
                    parameterList.AddRange(GetParameters(procName, data).ToArray());
                }
                command             = new SqlCommand(procName, conn);
                command.CommandType = CommandType.StoredProcedure;
                if (data != null)
                {
                    command.Parameters.AddRange(parameterList.ToArray());
                }



                using (SqlDataReader reader = command.ExecuteReader())
                {
                    obj = ConvertX.GetListFromDataReader <T_Planing_Action_AppliedCoatingDTO>(reader).ToList().FirstOrDefault();
                    reader.NextResult();
                    obj.UploadFileList = ConvertX.GetListFromDataReader <T_Planing_File>(reader).ToList();
                    reader.NextResult();
                    obj.CoatingInfoList = ConvertX.GetListFromDataReader <T_Planing_Action_AppliedCoating_InformationDTO>(reader).ToList();
                }
            }
            catch (Exception ex) { }
            finally
            {
                CloseConnection();
            }
            return(obj);
        }
        public HttpResponseMessage View()
        {
            var deserializer = new JavaScriptSerializer();

            bal = new T_Planing_Action_AppliedCoatingBAL();
            ResposeType         response   = new ResposeType();
            HttpResponseMessage mapMessage = null;

            T_Planing_Action_AppliedCoatingDTO dto = null;

            try
            {
                var context = HttpContext.Current;

                dto = ConvertX.GetReqeustForm <T_Planing_Action_AppliedCoatingDTO>();

                logger.debug("View dto :" + dto.ToString());
                dto = bal.FindByPK(dto);

                if (dto != null && dto.UploadFileList != null)
                {
                    foreach (var uploadFile in dto.UploadFileList)
                    {
                        uploadFile.HtmlFile = System.Web.VirtualPathUtility.ToAbsolute(planPath + "/" + dto.PID + "/" + uploadFile.UploadType + "/" + uploadFile.FileName);
                        string fullPath = context.Server.MapPath(planPath) + @"\" + uploadFile.PID + @"\" + uploadFile.UploadType + @"\" + uploadFile.FileName;
                        uploadFile.Base64File = Utility.convertFileToBase64(fullPath);
                    }
                }

                response.statusCode = true;
                response.data       = dto;
            }
            catch (Exception ex)
            {
                logger.error("View error:" + ex.ToString());
                response.statusText = ex.ToString();
            }

            mapMessage = Request.CreateResponse(HttpStatusCode.OK, response);
            return(mapMessage);
        }
        public HttpResponseMessage SearchAllFiles()
        {
            bal = new T_Planing_Action_AppliedCoatingBAL();
            ResposeType         response   = new ResposeType();
            HttpResponseMessage mapMessage = null;

            T_Planing_Action_AppliedCoatingDTO dto = null;
            List <T_Planing_File> objList          = null;

            try
            {
                var context = HttpContext.Current;

                dto = ConvertX.GetReqeustForm <T_Planing_Action_AppliedCoatingDTO>();

                logger.debug("PlanActionAppliedCoatingController SearchAllFiles dto:" + dto.ToString());
                objList = bal.FindAllFiles(dto);

                if (!ObjUtil.isEmpty(objList))
                {
                    foreach (T_Planing_File file in objList)
                    {
                        file.HtmlFile = System.Web.VirtualPathUtility.ToAbsolute(planPath + "/" + file.PID + "/" + file.UploadType + "/" + file.FileName);
                        string fullPath = context.Server.MapPath(planPath) + @"\" + file.PID + @"\" + file.UploadType + @"\" + file.FileName;
                        file.Base64File = Utility.convertFileToBase64(fullPath);
                    }
                }

                response.statusCode = true;
                response.data       = objList;
            }
            catch (Exception ex)
            {
                logger.error("PlanActionAppliedCoatingController SearchAllFiles error:" + ex.ToString());
                response.statusText = ex.ToString();
            }

            mapMessage = Request.CreateResponse(HttpStatusCode.OK, response);
            return(mapMessage);
        }
        public override bool Add(object data)
        {
            List <SqlParameter> parameterList = new List <SqlParameter>();

            string         procName    = "sp_T_Planing_Action_AppliedCoating_Insert";
            string         PID         = "";
            SqlConnection  conn        = OpenConnection();
            SqlTransaction transaction = conn.BeginTransaction();

            isCan = true;
            try
            {
                obj = (T_Planing_Action_AppliedCoatingDTO)data;

                //obj.DateINstalled = ConvertX.MMddYY(obj.DateINstalled);

                command = new SqlCommand(procName, conn, transaction);

                command.CommandType = CommandType.StoredProcedure;



                if (data != null)
                {
                    parameterList.AddRange(GetParameters(procName, obj, transaction).ToArray());
                    command.Parameters.AddRange(parameterList.ToArray());
                }

                command.ExecuteNonQuery();

                PID = obj.PID;

                /*  if (((T_PlaningDTO)obj).DeleteFiles != null && ((T_PlaningDTO)obj).DeleteFiles.Length > 0)
                 * {
                 *    procName = "sp_T_Planing_Files_Delete";
                 *    foreach (var fileNo in ((T_PlaningDTO)planObj).DeleteFiles.Split(','))
                 *    {
                 *
                 *        command = new SqlCommand(procName, conn, transaction);
                 *
                 *        command.CommandType = CommandType.StoredProcedure;
                 *        if (fileNo != null)
                 *        {
                 *            T_Planing_File file = new T_Planing_File();
                 *            file.PID = PID;
                 *            file.No = fileNo;
                 *            parameterList = new List<SqlParameter>();
                 *            parameterList.AddRange(GetParameters(procName, file, transaction).ToArray());
                 *
                 *            command.Parameters.AddRange(parameterList.ToArray());
                 *            //  command.Parameters[0].Value = "";
                 *        }
                 *
                 *        command.ExecuteNonQuery();
                 *
                 *
                 *    }
                 * }*/


                /*   if (obj.DeleteFiles != null && obj.DeleteFiles.Length > 0)
                 * {
                 *     procName = "sp_T_Planing_Action_AppliedCoating_Files_Delete";
                 *     foreach (var fileNo in obj.DeleteFiles.Split(','))
                 *     {
                 *         if (fileNo != "")
                 *         {
                 *             command = new SqlCommand(procName, conn, transaction);
                 *
                 *             command.CommandType = CommandType.StoredProcedure;
                 *             if (fileNo != null)
                 *             {
                 *                 T_Planing_File file = new T_Planing_File();
                 *                 file.PID = PID;
                 *                 file.No = fileNo;
                 *                 parameterList = new List<SqlParameter>();
                 *                 parameterList.AddRange(GetParameters(procName, file, transaction).ToArray());
                 *
                 *                 command.Parameters.AddRange(parameterList.ToArray());
                 *                 //  command.Parameters[0].Value = "";
                 *             }
                 *
                 *             command.ExecuteNonQuery();
                 *         }
                 *
                 *
                 *     }
                 * }*/


                procName = "sp_T_Planing_Action_AppliedCoating_SurfaceProfile_Insert";
                if (obj.UploadFileList != null && obj.UploadFileList.Count > 0)
                {
                    foreach (T_Planing_File file in obj.UploadFileList)
                    {
                        file.PID = PID;

                        command = new SqlCommand(procName, conn, transaction);

                        command.CommandType = CommandType.StoredProcedure;
                        if (file != null)
                        {
                            parameterList = new List <SqlParameter>();
                            parameterList.AddRange(GetParameters(procName, file, transaction).ToArray());

                            command.Parameters.AddRange(parameterList.ToArray());
                            //  command.Parameters[0].Value = "";
                        }

                        command.ExecuteNonQuery();
                    }
                }


                procName = "sp_T_Planing_Action_AppliedCoating_Information_Insert";
                if (obj.CoatingInfoList != null && obj.CoatingInfoList.Count > 0)
                {
                    foreach (T_Planing_Action_AppliedCoating_InformationDTO dto in obj.CoatingInfoList)
                    {
                        dto.PID = PID;

                        command = new SqlCommand(procName, conn, transaction);

                        command.CommandType = CommandType.StoredProcedure;
                        if (dto != null)
                        {
                            parameterList = new List <SqlParameter>();
                            parameterList.AddRange(GetParameters(procName, dto, transaction).ToArray());

                            command.Parameters.AddRange(parameterList.ToArray());
                            //  command.Parameters[0].Value = "";
                        }

                        command.ExecuteNonQuery();
                    }
                }



                transaction.Commit();
            }
            catch (Exception ex)
            {
                isCan = false;
                transaction.Rollback();
                throw new Exception(ex.Message);
            }
            finally
            {
                CloseConnection();
            }
            return(isCan);
        }