public HttpResponseMessage UpdateProjectDynamic(ProjectVM data) { string query = @"UPDATE [dbo].[Project_Main] SET "; ; List<SqlParameter> list = new List<SqlParameter>(); SqlParameter param; if (data.id != 0) { //return ;//cant update project without id query += @" [Project_Id] = @Project_Id "; if (data.name != null) { query += @",[Name] = @Name"; param = new SqlParameter("@Name", SqlDbType.VarChar) { Value = data.name }; list.Add(param); } if (data.exit_date != null) { query += @",[Exit_Date] = @Exit_Date"; param = new SqlParameter("@Exit_Date", SqlDbType.Date) { Value = Convert.ToDateTime(data.exit_date).ToString("yyyy-MM-dd") }; list.Add(param); } if (data.project_cost != 0.0) { query += @",[Project_Cost] = @Project_Cost"; param = new SqlParameter("@Project_Cost", SqlDbType.Decimal) { Value = data.project_cost }; list.Add(param); } if (data.producer_name != null) { query += @",[Producer_Name] = @Producer_Name"; param = new SqlParameter("@Producer_Name", SqlDbType.VarChar) { Value = data.producer_name }; list.Add(param); } if (data.market != null) { query += @",[Market] = @Market"; param = new SqlParameter("@Market", SqlDbType.VarChar) { Value = data.market }; list.Add(param); } if (data.hosting_platform != null) { query += @",[Hosting_Platform] = @Hosting_Platform"; param = new SqlParameter("@Hosting_Platform", SqlDbType.VarChar) { Value = data.hosting_platform }; list.Add(param); } if (data.status != null) { query += @",[Phase_Status] = @Phase_Status"; param = new SqlParameter("@Phase_Status", SqlDbType.VarChar) { Value = data.status }; list.Add(param); } if (data.progress != 0.0) { query += @",[Progress] = @Progress"; param = new SqlParameter("@Progress", SqlDbType.Decimal) { Value = data.progress }; list.Add(param); } if (data.live_url != null) { query += @",[Live_Url] = @Live_Url"; param = new SqlParameter("@Live_Url", SqlDbType.VarChar) { Value = data.live_url }; list.Add(param); } if (data.development_start_date != null) { query += @",[Development_Start_Date] = @Development_Start_Date"; param = new SqlParameter("@Development_Start_Date", SqlDbType.Date) { Value = Convert.ToDateTime(data.development_start_date).ToString("yyyy-MM-dd") }; list.Add(param); } if (data.launch_date != null) { query += @",[Launch_Date] = @Launch_Date"; param = new SqlParameter("@Launch_Date", SqlDbType.Date) { Value = Convert.ToDateTime(data.launch_date).ToString("yyyy-MM-dd") }; list.Add(param); } if (data.due_date != null) { query += @",[due_date] = @due_date"; param = new SqlParameter("@due_date", SqlDbType.Date) { Value = Convert.ToDateTime(data.due_date).ToString("yyyy-MM-dd") }; list.Add(param); } if (data.pending_with != null) { query += @",[pending_with] = @pending_with"; param = new SqlParameter("@pending_with", SqlDbType.VarChar) { Value = data.pending_with }; list.Add(param); } if (data.image_url != null) { query += @",[image_url] = @image_url"; param = new SqlParameter("@image_url", SqlDbType.VarChar) { Value = data.image_url }; list.Add(param); } query += @" WHERE [Project_Id] = @Project_Id"; param = new SqlParameter("@Project_Id", SqlDbType.BigInt) { Value = data.id }; list.Add(param); } SqlParameter[] sqlParam = list.ToArray(); DatabaseConnection dc = new DatabaseConnection(); dc.InsertUpdateDeleteDynamic(query, sqlParam); //int id = 0; //string dateFormat = "yyyy-MM-dd"; //string exit_date = string.Empty; //double project_cost = 0.0; //string producer_name = string.Empty; //string market = string.Empty; //string hosting_platform = string.Empty; //string status = string.Empty; //double progress = 0.0; //string live_url = string.Empty; //string development_start_date = string.Empty; //string launch_date = string.Empty; //string post_result = string.Empty; //string due_date = string.Empty; //string image_url = string.Empty; //double estimateTime = 0.0; //foreach (PropertyInfo property in properties) //{ // object propertyValue = property.GetValue(data, null); // Type propType = property.PropertyType; // string propName = property.Name; // switch (propName) // { // case "id": // break; // } // //if (propType == typeof(int)) // //{ // // Int64 interger = Convert.ToInt64(propertyValue); // // if (interger != 0) // // listOfProperties += property.Name.ToString() + ","; // //} // //if (propType == typeof(double)) // //{ // // double doubleVal = Convert.ToDouble(propertyValue); // // if (doubleVal != Double.MinValue) // // listOfProperties += property.Name.ToString() + ","; // //} // //if (propType == typeof(string)) // //{ // // string stringVal = Convert.ToString(propertyValue); // // if (!string.IsNullOrEmpty(stringVal)) // // listOfProperties += property.Name.ToString() + ","; // //} //} return Request.CreateResponse(HttpStatusCode.OK, "");//"Authentication error!! Please try again"); }
/// <summary> /// <para>Update Campaign table </para> /// <para>returns "Project VM Null" string if parameter is null </para> /// <para>returns "Project ID Invalid" string if id is null </para> /// <para>returns "Success" or "Fail" string on update </para> /// <para>returns string which contains Exception: for uncaught exception</para> /// </summary> /// <param name="proVM">PojectVM class</param> /// <returns>string value regarding status of update</returns> public string UpdateCampaignDynamicParam(ProjectVM data) { try { string query = @"UPDATE [dbo].[Project_Main] SET "; ; List<SqlParameter> list = new List<SqlParameter>(); SqlParameter param; if (data.id != 0) { //return ;//cant update project without id query += @" [Project_Id] = @Project_Id "; if (!string.IsNullOrEmpty(data.name)) { query += @",[Name] = @Name"; param = new SqlParameter("@Name", SqlDbType.VarChar) { Value = data.name }; list.Add(param); } if (!string.IsNullOrEmpty(data.exit_date) && Convert.ToDateTime(data.exit_date) != DateTime.MinValue) { query += @",[Exit_Date] = @Exit_Date"; param = new SqlParameter("@Exit_Date", SqlDbType.Date) { Value = Convert.ToDateTime(data.exit_date).ToString("yyyy-MM-dd") }; list.Add(param); } if (data.project_cost != 0.0) { query += @",[Project_Cost] = @Project_Cost"; param = new SqlParameter("@Project_Cost", SqlDbType.Decimal) { Value = data.project_cost }; list.Add(param); } if (!string.IsNullOrEmpty(data.producer_name)) { query += @",[Producer_Name] = @Producer_Name"; param = new SqlParameter("@Producer_Name", SqlDbType.VarChar) { Value = data.producer_name }; list.Add(param); } if (!string.IsNullOrEmpty(data.market)) { query += @",[Market] = @Market"; param = new SqlParameter("@Market", SqlDbType.VarChar) { Value = data.market }; list.Add(param); } if (!string.IsNullOrEmpty(data.hosting_platform)) { query += @",[Hosting_Platform] = @Hosting_Platform"; param = new SqlParameter("@Hosting_Platform", SqlDbType.VarChar) { Value = data.hosting_platform }; list.Add(param); } if (!string.IsNullOrEmpty(data.status)) { query += @",[Phase_Status] = @Phase_Status"; param = new SqlParameter("@Phase_Status", SqlDbType.VarChar) { Value = data.status }; list.Add(param); } if (data.progress != 0.0) { query += @",[Progress] = @Progress"; param = new SqlParameter("@Progress", SqlDbType.Decimal) { Value = data.progress }; list.Add(param); } if (data.EstimatedTime != 0.0) { query += @",[EstimatedTime] = @EstimatedTime"; param = new SqlParameter("@EstimatedTime", SqlDbType.Decimal) { Value = data.EstimatedTime }; list.Add(param); } if (data.TotalTimeSpent != 0.0) { query += @",[TotalTimeSpent] = @TotalTimeSpent"; param = new SqlParameter("@TotalTimeSpent", SqlDbType.Decimal) { Value = data.TotalTimeSpent }; list.Add(param); } if (!string.IsNullOrEmpty(data.live_url)) { query += @",[Live_Url] = @Live_Url"; param = new SqlParameter("@Live_Url", SqlDbType.VarChar) { Value = data.live_url }; list.Add(param); } if (data.development_start_date != null && Convert.ToDateTime(data.development_start_date) != DateTime.MinValue) { query += @",[Development_Start_Date] = @Development_Start_Date"; param = new SqlParameter("@Development_Start_Date", SqlDbType.Date) { Value = Convert.ToDateTime(data.development_start_date).ToString("yyyy-MM-dd") }; list.Add(param); } if (data.launch_date != null && Convert.ToDateTime(data.launch_date) != DateTime.MinValue) { query += @",[Launch_Date] = @Launch_Date"; param = new SqlParameter("@Launch_Date", SqlDbType.Date) { Value = Convert.ToDateTime(data.launch_date).ToString("yyyy-MM-dd") }; list.Add(param); } if (data.due_date != null && Convert.ToDateTime(data.due_date) != DateTime.MinValue) { query += @",[due_date] = @due_date"; param = new SqlParameter("@due_date", SqlDbType.Date) { Value = Convert.ToDateTime(data.due_date).ToString("yyyy-MM-dd") }; list.Add(param); } if (!string.IsNullOrEmpty(data.pending_with)) { query += @",[pending_with] = @pending_with"; param = new SqlParameter("@pending_with", SqlDbType.VarChar) { Value = data.pending_with }; list.Add(param); } if (!string.IsNullOrEmpty(data.image_url)) { query += @",[image_url] = @image_url"; param = new SqlParameter("@image_url", SqlDbType.VarChar) { Value = data.image_url }; list.Add(param); } if (!string.IsNullOrEmpty(data.qa_url)) { query += @",[qa_url] = @qa_url"; param = new SqlParameter("@qa_url", SqlDbType.VarChar) { Value = data.qa_url }; list.Add(param); } query += @" WHERE [Project_Id] = @Project_Id"; param = new SqlParameter("@Project_Id", SqlDbType.BigInt) { Value = data.id }; list.Add(param); } SqlParameter[] sqlParam = list.ToArray(); DatabaseConnection dc = new DatabaseConnection(); if (dc.InsertUpdateDeleteDynamic(query, sqlParam)) return "Success"; else return "Failed"; } catch (Exception ex) { Logger.Error("SqlQueries.Project_Main_Tbl.UpdateCampaignDynamicParam : " + ex.ToString()); return "Exception: " + ex.ToString(); } }