Ошибка CS7036, нет формальных аргументов в существующих переменных - ASP. NET C# - MVC - PullRequest
0 голосов
/ 14 января 2020

Я создал решение, в котором пользователь загружает файл Excel в таблицу базы данных TMP_BEN_DCT с помощью кнопки на странице ASP. NET, используя библиотеки EPPLUS, код и база данных хранятся правильно и вызываются в соответствующих классах. но я продолжаю получать CS7036 на переменные, которые приходят из файла Excel (как только я удаляю одну, ошибка появляется на другой):

CS7036 Нет необходимости в аргументации и переписке по всем параметрам формальное требование 'eTIP_CON' de 'importarController.guardarRegistro (строка, строка, строка, строка, строка, строка, строка, benDBEntities)' bulkBenefi cios

Следующие .cs - это Весь способ загрузки:

using OfficeOpenXml;
using System;
using System.Linq;
using System.Web.Mvc;
using bulkBeneficios.Data;

namespace bulkBeneficios.Controllers
{
public class importarController : Controller
{
    // GET: importar
    public ActionResult Index()
    {
        return View("");
    }

    [HttpPost]
    public ActionResult index()
    {
        String mensaje = string.Empty;
        int count = 0;
        importarDatos(out count);
        return View(mensaje);
    }

    private bool importarDatos(out int count)
    {
        var resultado = false;
        int contador = 0;
        count = 0;
        try
        {
            string rutaArchivo = Server.MapPath("/") + "\\importarTest\\";
            var paquete = new ExcelPackage(new System.IO.FileInfo(rutaArchivo));
            int inicioColumna = 1; //Si el excel contiene encabezados o filas vacías al inicio
            int inicioFila = 2; //Al tener encabezados la plantilla se inicia desde fila 2
            ExcelWorksheet planillaTrabajo = paquete.Workbook.Worksheets[1];
            object datos = null;

            TMP_CAR_DCT_BEN db = new TMP_CAR_DCT_BEN(); //ENTIDAD DE TABLA
            benDBEntities db2 = new benDBEntities(); //DB ENTIDAD

            do
            {
                datos = planillaTrabajo.Cells[inicioColumna, inicioFila].Value;

                //leer datos
                //ID_USU_CAR RUT_DCT TIP_CON ID_CON  INI_BEN FIN_BEN MON_CLP

                object eID_USU_CAR = planillaTrabajo.Cells[inicioColumna, inicioFila].Value;
                object eRUT_DCT = planillaTrabajo.Cells[inicioColumna + 1, inicioFila].Value;
                object eTIP_CON = planillaTrabajo.Cells[inicioColumna + 2, inicioFila].Value;
                object eID_CON = planillaTrabajo.Cells[inicioColumna + 3, inicioFila].Value;
                object eINI_BEN = planillaTrabajo.Cells[inicioColumna + 5, inicioFila].Value;
                object eFIN_BEN = planillaTrabajo.Cells[inicioColumna + 6, inicioFila].Value;
                object eMON_CLP = planillaTrabajo.Cells[inicioColumna + 7, inicioFila].Value;


                if (datos != null & eID_USU_CAR != null & eRUT_DCT != null & eTIP_CON != null & eID_CON != null & eINI_BEN != null & eFIN_BEN != null & eMON_CLP != null)
                {
                    //importarDB
                    var esValidoCol1 = guardarRegistro(eID_USU_CAR.ToString(), db2); //CS7036
                    var esValidoCol2 = guardarRegistro(eRUT_DCT.ToString(), db2); //CS7036
                    var esValidoCol3 = guardarRegistro(eTIP_CON.ToString(), db2); //CS7036
                    var esValidoCol4 = guardarRegistro(eID_CON.ToString(), db2); //CS7036
                    var esValidoCol5 = guardarRegistro(eINI_BEN.ToString(), db2); //CS7036
                    var esValidoCol6 = guardarRegistro(eFIN_BEN.ToString(), db2); //CS7036
                    var esValidoCol7 = guardarRegistro(eMON_CLP.ToString(), db2); //CS7036

                    if (esValidoCol1)
                    {
                        count++;
                    }
                }
                inicioFila++;
            }
            while (datos == null);
        }
        catch (Exception ex)
        {

        }
        return resultado;
    }

    public bool guardarRegistro(String eID_USU_CAR, String eRUT_DCT, String eTIP_CON, String eID_CON, String eINI_BEN, String eFIN_BEN, String eMON_CLP, benDBEntities db2)
    {
        var resultado = false;
        try
        {

            //if (db2.ID_USU_CAR.Where(t => t.ID_USU_CAR.Equals(ID_USU_CAR)).Count() == 0)
            //{


            var item1 = new TMP_CAR_DCT_BEN();
            item1.ID_USU_CAR = eID_USU_CAR;
            db2.TMP_CAR_DCT_BEN.Add(item1);
            db2.SaveChanges();


            var item2 = new TMP_CAR_DCT_BEN();
            item2.TIP_CON = eTIP_CON;
            db2.TMP_CAR_DCT_BEN.Add(item2);
            db2.SaveChanges();
            //}
        }
        catch (Exception ex)
        {

        }
        return resultado;
    }
}
}

1 Ответ

1 голос
/ 14 января 2020

Вы определили восемь параметров для вашего метода guardarRegistro, но вы пытаетесь вызвать его только с двумя? вы должны либо реорганизовать свой метод для двух аргументов

public bool guardarRegistro(string argument1,benDBEntities db2)
{
//Do your stuffs
}

, либо вызвать с использованием восьми параметров

var esValidoCol1 = guardarRegistro(argument1,2,3 ... ,8); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...