public HttpResponseMessage AddConsultant([FromBody] ServiceConsultant consultant) { using (SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DBCS"].ConnectionString)) { WriteMessage(0, consultant.Id, connection); SqlCommand cmd = new SqlCommand("spAddConsultant", connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@UserId", consultant.Id); cmd.Parameters.AddWithValue("@ServiceId", consultant.ServiceId); connection.Open(); SqlTransaction transaction = connection.BeginTransaction(); cmd.Transaction = transaction; try { cmd.ExecuteNonQuery(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } } return(Request.CreateResponse(HttpStatusCode.OK, "OK")); }
public HttpResponseMessage Get([FromUri] int service_id) { List <ServiceConsultant> toReturn = new List <ServiceConsultant>(); using (SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DBCS"].ConnectionString)) { SqlDataAdapter da = new SqlDataAdapter("spGetServiceConsultants", connection); da.SelectCommand.CommandType = CommandType.StoredProcedure; da.SelectCommand.Parameters.AddWithValue("@ServiceId", service_id); DataSet set = new DataSet(); try { da.Fill(set); foreach (DataRow row in set.Tables[0].Rows) { ServiceConsultant consultant = new ServiceConsultant(); consultant.Id = row["Id"].ToString(); consultant.ServiceId = Convert.ToInt32(row["ServiceId"].ToString()); consultant.Approved = Convert.ToBoolean(row["Approved"].ToString()); consultant.Name = row["Name"].ToString(); consultant.Surname = row["Surname"].ToString(); consultant.FatherName = row["FatherName"].ToString(); consultant.Email = row["Email"].ToString(); consultant.LastAssignmentTime = Convert.ToDateTime(row["LastAssignTime"]); consultant.Organisation = row["Organisation"].ToString(); toReturn.Add(consultant); } return(Request.CreateResponse(HttpStatusCode.OK, toReturn)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } } }
public HttpResponseMessage Post([FromBody] ConsultantParams cParams) { StringBuilder cmdString = new StringBuilder("SELECT Id,FirstName, LastName, FatherName, Email, Organisation FROM AspNetUsers "); cmdString.Append(" WHERE Email NOT IN(Select EMAIL FROM ServiceConsultants WHERE SERVICE_ID = @serviceId) AND (Email != @provider)"); Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@Id", cParams.LastID); parameters.Add("@serviceId", cParams.ServiceId); parameters.Add("@provider", User.Identity.Name); List <string> names = cParams.Name.Split(' ').ToList(); names.RemoveAll(x => x == ""); for (int i = 0; i < names.Count(); ++i) { cmdString.Append(" AND ("); cmdString.AppendFormat("(UPPER(FirstName) LIKE '%' + UPPER(@name{0}) + '%') OR ", (i + 1).ToString()); cmdString.AppendFormat("(UPPER(LastName) LIKE '%' + UPPER(@name{0}) + '%') OR ", (i + 1).ToString()); cmdString.AppendFormat("(UPPER(FatherName) LIKE '%' + UPPER(@name{0}) + '%'))", (i + 1).ToString()); parameters.Add(String.Format("@name{0}", (i + 1).ToString()), names[i]); } if (!String.IsNullOrEmpty(cParams.Organisation)) { string org = cParams.Organisation.Trim(); cmdString.Append(" AND (UPPER(Organisation) LIKE '%' + UPPER(@org) + '%')"); parameters.Add("@org", org); } cmdString.Append(";"); using (SqlConnection connection = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DBCS"].ConnectionString)) { SqlDataAdapter da = new SqlDataAdapter(cmdString.ToString(), connection); foreach (var kvp in parameters) { da.SelectCommand.Parameters.AddWithValue(kvp.Key, kvp.Value); } try { DataSet set = new DataSet(); connection.Open(); da.Fill(set); List <ServiceConsultant> toReturn = new List <ServiceConsultant>(); int i = cParams.LastID; while (i < Math.Min(set.Tables[0].Rows.Count, cParams.LastID + 10)) { ServiceConsultant consultant = new ServiceConsultant(); consultant.Id = set.Tables[0].Rows[i]["Id"].ToString(); consultant.Name = set.Tables[0].Rows[i]["FirstName"].ToString(); consultant.Surname = set.Tables[0].Rows[i]["LastName"].ToString(); consultant.FatherName = set.Tables[0].Rows[i]["FatherName"].ToString(); consultant.Email = set.Tables[0].Rows[i]["Email"].ToString(); consultant.Organisation = set.Tables[0].Rows[i]["Organisation"].ToString(); consultant.ServiceId = cParams.ServiceId; toReturn.Add(consultant); ++i; } if (toReturn.Count == 0) { toReturn = null; } return(Request.CreateResponse(HttpStatusCode.OK, JsonConvert.SerializeObject(toReturn))); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } } }