public string ExportInvalidData(Guid userID, Guid templateID, ImportService importService) { var result = string.Empty; try { if (userID != Guid.Empty && ListInvalidDataTemp != null && ListInvalidDataTemp.ContainsKey(userID)) { result = importService.Export(templateID, ListInvalidDataTemp[userID], Common.GetPath(Common.DownloadURL)); } } catch (Exception) { } return result; }
public ActionResult SaveImport([DataSourceRequest] DataSourceRequest request, CatImportModel model) { try { if (model.UserID != Guid.Empty && ListImportDataTemp != null && ListImportDataTemp.ContainsKey(model.UserID)) { ImportService importService = new ImportService { UserID = model.UserID, ImportTemplateID = model.ID, DateTimeFormat = model.FormatDate, ImportMode = model.ProcessDuplicateData == HRM.Infrastructure.Utilities.EnumDropDown.DuplicateData.E_INSERT.ToString() ? ImportDataMode.Insert : model.ProcessDuplicateData == HRM.Infrastructure.Utilities.EnumDropDown.DuplicateData.E_UPDATE.ToString() ? ImportDataMode.Update : ImportDataMode.Skip }; importService.ProgressChanged += importService_ProgressChanged; if (importService.Save(model.UserID, ListImportDataTemp[model.UserID], UserLogin)) { ListImportDataTemp[model.UserID] = null; ListImportDataTemp.Remove(model.UserID); return Json(NotificationType.Success.ToString()); } else { return Json(NotificationType.Error.ToString()); } } else { return Json(NotificationType.Error.ToString()); } } catch (Exception ex) { return Json(NotificationType.Error + "," + ex.GetExceptionMessage()); } }
public ContentResult Import([DataSourceRequest] DataSourceRequest request, CatImportModel model) { var _fileName = Common.GetPath(Common.TemplateURL) + model.TemplateFile; _fileName = _fileName.Replace("/", "\\"); ImportService importService = new ImportService { FileName = _fileName, UserID = model.UserID, ImportTemplateID = model.ID, DateTimeFormat = model.FormatDate, ImportMode = model.ProcessDuplicateData == HRM.Infrastructure.Utilities.EnumDropDown.DuplicateData.E_INSERT.ToString() ? ImportDataMode.Insert : model.ProcessDuplicateData == HRM.Infrastructure.Utilities.EnumDropDown.DuplicateData.E_UPDATE.ToString() ? ImportDataMode.Update : ImportDataMode.Skip }; importService.ProgressChanged += importService_ProgressChanged; DataTable dataTableInvalid = new DataTable("InvalidData"); DataTable dataTable = new DataTable("ImportData"); string[] lstFieldInvalid = new string[] { "DataField", "InvalidValue", "ExcelField", "ExcelValue", "ValueType", "Desciption" }; try { importService.Import(); dataTable = importService.ListImportData.Translate(importService.ListValueField.ToArray()); dataTableInvalid = importService.ListInvalidData.Translate(lstFieldInvalid); if (model.UserID != Guid.Empty) { if (ListImportDataTemp == null) { ListImportDataTemp = new Dictionary<Guid, IList>(); } if (ListImportDataTemp.ContainsKey(model.UserID)) { ListImportDataTemp[model.UserID] = importService.ListImportData; } else { ListImportDataTemp.Add(model.UserID, importService.ListImportData); } if (ListInvalidDataTemp == null) { ListInvalidDataTemp = new Dictionary<Guid, IList>(); } if (ListInvalidDataTemp.ContainsKey(model.UserID)) { ListInvalidDataTemp[model.UserID] = importService.ListInvalidData.Select(d => d.ImportData).Distinct().ToList(); } else { ListInvalidDataTemp.Add(model.UserID, importService.ListInvalidData.Select(d => d.ImportData).Distinct().ToList()); } } else { model.Description = "Người dùng ảo"; } if (model.IsImportAndSave) { if (importService.Save(model.UserID, importService.ListImportData, UserLogin)) { model.Description = NotificationType.Success.ToString(); } else { model.Description = NotificationType.Error.ToString(); } } } catch (Exception ex) { model.Description = ex.Message; } model.ListImportData = dataTable.ConfigTable().ToDataSourceResult(request); model.ListInvalidData = dataTableInvalid.ConfigTable().ToDataSourceResult(request); model.UrlInvalidFileName = ExportInvalidData(model.UserID, model.ID, importService); model.ListValueField = importService.ListValueField; model.ListDisplayField = lstFieldInvalid.ToList(); var serializer = new JavaScriptSerializer(); serializer.MaxJsonLength = Int32.MaxValue - 1; var result = new ContentResult(); result.Content = serializer.Serialize(model); result.ContentType = "text/json"; return result; }
public JsonResult SaveChangeClass([DataSourceRequest] DataSourceRequest request, CatImportModel model) { var services = new Tra_TraineeServices(); List<ImportTraineeEntity> lstTrainee = new List<ImportTraineeEntity>(); List<Tra_TraineeChangeClassEntity> lstTraineeTranslate = new List<Tra_TraineeChangeClassEntity>(); List<Tra_TraineeScoreImport> DataError = new List<Tra_TraineeScoreImport>(); var _fileName = Common.GetPath(Common.TemplateURL) + model.TemplateFile; _fileName = _fileName.Replace("/", "\\"); ImportService = new ImportService { FileName = _fileName, DateTimeFormat = model.FormatDate, ImportTemplateID = model.ID, }; try { var table = ImportService.ImportNew(_fileName, model.TemplateFile, model.ID); lstTrainee = table.Translate<ImportTraineeEntity>(); foreach (var item in lstTrainee) { var entity = new Tra_TraineeChangeClassEntity { CodeEmp = item.Column2, ClassOldCode = item.Column3, ClassNewCode = item.Column4 }; lstTraineeTranslate.Add(entity); } var message = services.ImportChangeClass(lstTraineeTranslate,UserLogin); if (message == NotificationType.Success.ToString()) { return Json(message, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { model.Description = ex.Message; } return Json(DataError.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }
public JsonResult ImportTrainee([DataSourceRequest] DataSourceRequest request, CatImportModel model) { var services = new Tra_TraineeServices(); List<Tra_TraineeScoreImport> lstTraineeScore = new List<Tra_TraineeScoreImport>(); List<Tra_TraineeScoreImport> DataError = new List<Tra_TraineeScoreImport>(); List<ImportTraineeEntity> lstTrainee = new List<ImportTraineeEntity>(); List<ImportTraineeEntity> lstTraineeTranslate = new List<ImportTraineeEntity>(); var _fileName = Common.GetPath(Common.TemplateURL) + model.TemplateFile; _fileName = _fileName.Replace("/", "\\"); ImportService = new ImportService { //FileName = Common.GetPath(model.TemplateFile), FileName = _fileName, DateTimeFormat = model.FormatDate, ImportTemplateID = model.ID, }; try { var table = ImportService.ImportNew(_fileName, model.TemplateFile, model.ID); lstTrainee = table.Translate<ImportTraineeEntity>(); foreach (var item in lstTrainee) { var entity = new ImportTraineeEntity { CodeEmp = item.Column2, ClassCode = item.Column3, RequirementCode = item.Column4, Status = item.Column5 }; lstTraineeTranslate.Add(entity); } var lstEntity = services.GetListTrainee(lstTraineeTranslate,UserLogin); if (lstEntity.Count > 0) { return Json(lstEntity.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); } } catch (Exception ex) { model.Description = ex.Message; } return Json(DataError.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }
public JsonResult SaveImortScore([DataSourceRequest] DataSourceRequest request, CatImportModel model) { var services = new Tra_TraineeScoreServices(); List<Tra_TraineeScoreImport> lstTraineeScore = new List<Tra_TraineeScoreImport>(); List<Tra_TraineeScoreImport> lstTraineeScoreTranslate = new List<Tra_TraineeScoreImport>(); List<Tra_TraineeScoreImport> DataError = new List<Tra_TraineeScoreImport>(); var _fileName = Common.GetPath(Common.TemplateURL) + model.TemplateFile; _fileName = _fileName.Replace("/", "\\"); ImportService = new ImportService { //FileName = Common.GetPath(model.TemplateFile), FileName = _fileName, DateTimeFormat = model.FormatDate, ImportTemplateID = model.ID, }; try { var table = ImportService.ImportNew(_fileName, model.TemplateFile, model.ID); lstTraineeScore = table.Translate<Tra_TraineeScoreImport>(); foreach (var item in lstTraineeScore) { var entity = new Tra_TraineeScoreImport { ClassCode = item.Column2, CodeEmp = item.Column3, TopicCode = item.Column4, TypeScore = item.Column5, Score = item.Column6, TypeError = item.Column7, }; lstTraineeScoreTranslate.Add(entity); } var message = services.SaveListTraineeScore(lstTraineeScoreTranslate, out DataError); if (message == NotificationType.Success.ToString()) { return Json(message, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { model.Description = ex.Message; } return Json(DataError.ToDataSourceResult(request), JsonRequestBehavior.AllowGet); }