public string GetOperatorPos() { OperatorPosResponse operatorPosResponse = new OperatorPosResponse(); try { OperatorPosRequest operatorPosRequest = new OperatorPosRequest { Operator = JwtProps.GetOperator() }; HttpResponseMessage responseMessage = HttpClientService.PostAsync("api/pos/OperatorPos", operatorPosRequest).Result; if (responseMessage.IsSuccessStatusCode) { operatorPosResponse = responseMessage.Content.ReadAsAsync <OperatorPosResponse>().Result; if (operatorPosResponse.ErrorCode == 0 && string.IsNullOrEmpty(operatorPosResponse.Message)) { PosModel.PosData data = new PosModel.PosData(); int i = 0; foreach (var c in operatorPosResponse.Poses) { i++; var item = new LC_Manager.Implementation.Data.Pos { Check = "<input type='checkbox' class='checkbox checkbox-for-shop' name='checkbox[]" + c.Id + "' id='checkbox" + c.Id + "' value='" + c.Id + "'><label for='checkbox" + c.Id + "'></label>", Id = c.Id, Address = c.Address, City = c.City, Region = c.Region }; data.data.Add(item); } return(JsonConvert.SerializeObject(data)); } return(JsonConvert.SerializeObject(operatorPosResponse)); } else { operatorPosResponse.ErrorCode = 10; operatorPosResponse.Message = "Ошибка получения данных"; } } catch (Exception ex) { operatorPosResponse.ErrorCode = 2; operatorPosResponse.Message = ex.Message; } return(JsonConvert.SerializeObject(operatorPosResponse)); }
/// <summary> /// Получает список ТТ доступных оператору /// </summary> /// <param name="request"></param> /// <returns></returns> public OperatorPosResponse GetPosByOperator(OperatorPosRequest request) { var returnValue = new OperatorPosResponse(); try { _cnn.Open(); SqlCommand cmd = _cnn.CreateCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "OperatorGetPos"; if (request.Operator == 0) { request.Operator = Convert.ToInt16(ConfigurationManager.AppSettings["Operator"]); } cmd.Parameters.AddWithValue("@operator", request.Operator); cmd.Parameters.Add("@errormessage", SqlDbType.NVarChar, 100); cmd.Parameters["@errormessage"].Direction = ParameterDirection.Output; cmd.Parameters.Add("@result", SqlDbType.Int); cmd.Parameters["@result"].Direction = ParameterDirection.ReturnValue; SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Pos pos = new Pos(); if (!reader.IsDBNull(0)) { pos.Region = reader.GetString(0); } if (!reader.IsDBNull(1)) { pos.City = reader.GetString(1); } if (!reader.IsDBNull(2)) { pos.Address = reader.GetString(2); } if (!reader.IsDBNull(3)) { pos.Id = reader.GetInt16(3); } returnValue.Poses.Add(pos); } reader.Close(); cmd.Parameters.Clear(); cmd.CommandType = CommandType.Text; cmd.CommandText = "select id, caption, operator from poslist where operator=@id"; cmd.Parameters.AddWithValue("@id", request.Operator); var result = new List <OperatorPosList>(); var buf = new List <OperatorPosList>(); #region Получаем списки магазинов, созданных оператором reader = cmd.ExecuteReader(); while (reader.Read()) { var posList = new OperatorPosList { Id = reader.GetInt16(0) }; if (!reader.IsDBNull(1)) { posList.Caption = reader.GetString(1); } if (!reader.IsDBNull(2)) { posList.Operator = reader.GetInt16(2); } buf.Add(posList); } reader.Close(); #endregion #region Получаем содержимое списков магазинов cmd.CommandText = @"select p.id, c.name, p.address from poslistitems pli join poslist pl on pl.id = pli.poslist and pl.id=@id join pos p on p.id = pli.pos join city c on c.id=p.city"; foreach (var item in buf) { cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@id", item.Id); var listOfPos = new List <Pos>(); reader = cmd.ExecuteReader(); while (reader.Read()) { var pos = new Pos { Id = reader.GetInt16(0) }; if (!reader.IsDBNull(1)) { pos.City = reader.GetString(1); } if (!reader.IsDBNull(2)) { pos.Address = reader.GetString(2); } listOfPos.Add(pos); } reader.Close(); result.Add(new OperatorPosList { Id = item.Id, Operator = item.Operator, Caption = item.Caption, Poses = listOfPos }); } #endregion returnValue.PosLists = result; } catch (Exception e) { returnValue.ErrorCode = 3; returnValue.Message = e.Message; } finally { _cnn.Close(); } return(returnValue); }