public async Task <IActionResult> ImportAsync(Models.Modules.Export.ImportModel model)
        {
            var fileCount = GetRequestFileCount();

            using var ctrl = Factory.Create <Contract>(SessionWrapper.SessionToken);

            if (fileCount == 1)
            {
                var hpf = GetRequestFileData(0);

                if (hpf.Length > 0)
                {
                    var idIdx    = Array.IndexOf(CsvHeader, "Id");
                    var text     = Encoding.Default.GetString(hpf, 0, hpf.Length);
                    var lines    = text.Split(Environment.NewLine);
                    var logInfos = new List <Models.Modules.Export.ImportModel.LogInfo>();

                    for (int i = 1; i < lines.Length; i++)
                    {
                        var action = ImportAction.None;

                        try
                        {
                            var data = lines[i].Split(Separator);

                            if (idIdx >= 0 && CsvHeader.Length == data.Length)
                            {
                                if (Int32.TryParse(data[idIdx], out int id))
                                {
                                    if (id < 0)
                                    {
                                        action = ImportAction.Delete;
                                        await ctrl.DeleteAsync(Math.Abs(id));
                                    }
                                    else if (id > 0)
                                    {
                                        action = ImportAction.Update;
                                        await ctrl.UpdateAsync(CreateModelFromCsv(CsvHeader, data));
                                    }
                                    else
                                    {
                                        action = ImportAction.Insert;
                                        await ctrl.InsertAsync(CreateModelFromCsv(CsvHeader, data));
                                    }
                                }
                                else
                                {
                                    data[idIdx] = "0";
                                    action      = ImportAction.Insert;
                                    await ctrl.InsertAsync(CreateModelFromCsv(CsvHeader, data));
                                }
                                logInfos.Add(new Models.Modules.Export.ImportModel.LogInfo
                                {
                                    IsError = false,
                                    Prefix  = $"Line: {i} - {action}",
                                    Text    = "OK",
                                });
                            }
                        }
                        catch (Exception ex)
                        {
                            logInfos.Add(new Models.Modules.Export.ImportModel.LogInfo
                            {
                                IsError = true,
                                Prefix  = $"Line: {i} - {action}",
                                Text    = ex.Message,
                            });
                        }
                    }
                    model.LogInfos = logInfos;
                }
            }
            return(View(model));
        }
        public ActionResult Import()
        {
            var model = new Models.Modules.Export.ImportModel();

            return(View(model));
        }