Отправить данные на ASP. NET от AngularJS - PullRequest
1 голос
/ 08 января 2020

Я новая кодировка, вот мой вопрос, я получаю данные из моей БД через c# и angularJs Я могу изменить свои данные и хочу отправить их обратно после того, как мне понадобится чтобы сохранить его в БД, но я собираюсь шаг за шагом, так что вот мой код, большое спасибо. Это на испанском sh Надеюсь, вы не возражаете.

var datosActuales = { 
    'id': $scope.datosActualizados.id,
    'remitente': $scope.datosActualizados.remitente,
    'proveedor': $scope.datosActualizados.proveedor,
    'destinatario': $scope.datosActualizados.correoDestinatario,
    'copia': $scope.datosActualizados.copia,
    'mensaje': $scope.datosActualizados.mensaje
};

$http.post('http://localhost:65110/api/CorreosProveedor/CorreoActual', datosActuales)
.then(function (response) {
    console.log(response);
}, function (response) {
    console.log("error..");
});
// POST api/<controller>
[HttpPost]
public void CorreoActual(int id, string remitente, string proveedor, string destinatario, string mensaje, string copia)
{
    try
    {
        //string separa_copias = copia.Split(new char[] { ',' });
        ModeloCorreo correo_recibido = new ModeloCorreo();

        correo_recibido.id = id;
        correo_recibido.remitente = remitente;
        correo_recibido.nombre_proveedor = proveedor;
        correo_recibido.destinatario = destinatario;
        correo_recibido.mensaje = mensaje;
        // correo_recibido.correos_copia = separa_copias;
    }
    catch (Exception ex)
    {

    }
}

ошибка в консоли

405 Метод не разрешен

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Это мой последний код, и он работает нормально.

Сначала я получаю ответ от своей БД, затем я редактирую свои ответы и отправляю его обратно в конце ASP. Ответственен NET чтобы узнать, нужно ли обновить, удалить или вставить ответ.

Большое спасибо.

        [Route("api/configuracorreo")]
        public void Post([FromBody]ModeloEditarCorreo correo)
        {
            try
            {

                ModeloEditarCorreo correo_recibido = correo;

                correo_recibido.id = correo.id;
                correo_recibido.remitente = correo.remitente;
                correo_recibido.nombre_proveedor = correo.nombre_proveedor;
                correo_recibido.destinatario = correo.destinatario;
                correo_recibido.mensaje = correo.mensaje;
                correo_recibido.correos_copia = correo.correos_copia;


                using (Certificados_UVM_DEVEntities dba = new Certificados_UVM_DEVEntities())
                {

                    Models.Conf_Correo correoExistente = dba.Conf_Correo.FirstOrDefault();


                    if (correoExistente == null)
                    {
                        string insertCorreo = string.Format("INSERT INTO Conf_Correo (remitente, nombre_proveedor, destinatario, mensaje) VALUES ('{0}', '{1}', '{2}', '{3}')", correo.remitente, correo.nombre_proveedor, correo.destinatario, correo.mensaje);
                        dba.Database.ExecuteSqlCommand(insertCorreo);


                        foreach (string correoUnico in correo.correos_copia)
                        {
                            Models.Conf_Correo correoCreado = dba.Conf_Correo.FirstOrDefault();
                            string insertEmails = string.Format("Insert INTO Conf_Correo_Destinatarios (id_conf_correo, correo_copia) VALUES ('{0}', '{1}')", '1', correoCreado.id);
                            dba.Database.ExecuteSqlCommand(insertEmails);
                        }

                    } else
                    {

                        string queryStoreString = string.Format("UPDATE Conf_Correo SET nombre_proveedor = '{0}', destinatario = '{1}', mensaje = '{2}' WHERE id = '{3}'", correo.nombre_proveedor, correo.destinatario, correo.mensaje, correo.id);
                        dba.Database.ExecuteSqlCommand(queryStoreString);

                        string deleteEmails = string.Format("DELETE FROM Conf_Correo_Destinatarios WHERE id_conf_correo = '{0}'", correo.id);
                        dba.Database.ExecuteSqlCommand(deleteEmails);

                        foreach( string correoUnico in correo.correos_copia)
                        {
                            string insertEmails = string.Format("Insert INTO Conf_Correo_Destinatarios (id_conf_correo, correo_copia) VALUES ('{0}', '{1}')", correo.id, correoUnico);
                            dba.Database.ExecuteSqlCommand(insertEmails);
                        }

                    }




                }
            }


            catch (Exception ex)
            {

            }

        }
        
        
         public class ModeloEditarCorreo
    {
        public int id { get; set; }
        public string remitente { get; set; }

        public string nombre_proveedor { get; set; }

        public string destinatario { get; set; }

        public string mensaje { get; set; }
        public string[] correos_copia { get; set; }


    }

	$http.get(DIR.hostSelected + 'api/configuracioncorreo').
						then(function(response) {


							var correos = response.data.correos_copia.map(function(e){
								return e["correo_copia"];
							});
							var correos_copia = correos.join(", ");

							$scope.isRemitenteDisabled = response.data.remitente ? true : false;

							$scope.datosOriginales = {
								id: response.data.id,
								remitente: response.data.remitente,
								proveedor: response.data.nombre_proveedor,
								correoDestinatario: response.data.destinatario,
								copia: correos_copia,
								mensaje: response.data.mensaje	
							};
	
						});

						
						$scope.validarCorreo = function() {
							if ($scope.correoDestinatario != $scope.confirmaCorreo) {
							$scope.IsMatch=true;
							return false;
							}
							$scope.IsMatch=false;
						};

						$scope.cancelar = function() {
							$window.location.reload();
						};


						$scope.actualizaDatos = function(){	

							var ccActual = [];
							ccActual = $scope.datosOriginales.copia.split(", ");

							$scope.editaDatos = {};
							$scope.editaDatos = angular.copy($scope.datosOriginales);
							$scope.datosActualizados = $scope.editaDatos;
							var datosActuales = {
								'id': $scope.datosActualizados.id,
								'remitente': $scope.datosActualizados.remitente,
								'nombre_proveedor': $scope.datosActualizados.proveedor,
								'destinatario': $scope.datosActualizados.correoDestinatario,
								'correos_copia': ccActual,
								'mensaje': $scope.datosActualizados.mensaje
							};
							$scope.isDisabled = true;

							console.log($scope.datosActualizados);
							console.log(ccActual)

							var config = { headers: {'Content-Type': 'application/json;charset=utf-8'}}

							$http.post(DIR.hostSelected + 'api/configuracorreo', datosActuales, config)
								.then(function (response) {
										console.log(response);
									}, function (response) {
									console.log("error..");
									});

						};
0 голосов
/ 08 января 2020

вы можете попробовать код ниже:

$http({
    method: "POST",
    url: 'http://localhost:65110/api/CorreosProveedor/CorreoActual' 

    }).then(function successCallback(response) {
            console.log(response);
    }, function errorCallback(response) {
    console.log("error..");
    });

надеюсь, это поможет вам, пожалуйста, прокомментируйте, если у вас есть какие-либо вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...