public async Task <ActionResult> New(HcViewModel viewModel) { if (ModelState.IsValid) { var jobcard = new Jobcard { JobcardNo = viewModel.Jobcard.JobcardNo, CustomerName = viewModel.Jobcard.CustomerName, ChassisNo = viewModel.Jobcard.ChassisNo, PlateNo = viewModel.Jobcard.PlateNo, Mileage = viewModel.Jobcard.Mileage, BranchID = CurrentUser.BranchID }; _uow.Jobcards.Add(jobcard); //add the jobcard foreach before saiving to db viewModel.HealthCheckDetails.ToList().ForEach(x => { x.JobcardNo = jobcard.JobcardNo; }); _uow.HealthCheckDetails.AddRange(viewModel.HealthCheckDetails.ToList()); await _uow.SaveChangesAsync(); return(RedirectToAction("index", "videos")); } SetJobcardValidationErrorMessages(ModelState); viewModel.GroupedHealthChecks = _uow.HealthChecks.GetAllByHcGroup(); return(View(viewModel)); }
private string UploadCsvToDatabase(Stream inputStream) { //var isSuccess = false; var line = string.Empty; string[] strArray; var jobcardNo = string.Empty; var customerName = string.Empty; var chassisNo = string.Empty; var plateNo = string.Empty; var mileage = string.Empty; var hcCode = string.Empty; var status = string.Empty; var comments = string.Empty; //We should not seperate the comma in a sentence Regex r = new Regex(",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))"); StreamReader sr = new StreamReader(inputStream); //read the first row which the column header line = sr.ReadLine(); strArray = r.Split(line); //_uow.Jobcards.GetById() var jobcard = new Jobcard(); while ((line = sr.ReadLine()) != null) { strArray = r.Split(line); jobcardNo = !string.IsNullOrWhiteSpace(strArray[0]) ? strArray[0].ToString().Replace($"\"", "") : string.Empty; customerName = !string.IsNullOrWhiteSpace(strArray[1]) ? strArray[1].ToString().Replace($"\"", null) : string.Empty; chassisNo = !string.IsNullOrWhiteSpace(strArray[2]) ? strArray[2].ToString().Replace($"\"", null) : string.Empty; plateNo = !string.IsNullOrWhiteSpace(strArray[3]) ? strArray[3].ToString().Replace($"\"", null) : string.Empty; mileage = !string.IsNullOrWhiteSpace(strArray[4]) ? strArray[4].ToString().Replace($"\"", null) : string.Empty; hcCode = !string.IsNullOrWhiteSpace(strArray[5]) ? strArray[5].ToString().Replace($"\"", null) : string.Empty; status = !string.IsNullOrWhiteSpace(strArray[6]) ? strArray[6].ToString().Replace($"\"", null) : string.Empty; comments = !string.IsNullOrWhiteSpace(strArray[7]) ? strArray[7].ToString().Replace($"\"", null) : string.Empty; if (jobcard.JobcardNo == null) { jobcard.JobcardNo = jobcardNo; jobcard.CustomerName = customerName; jobcard.ChassisNo = chassisNo; jobcard.PlateNo = plateNo; jobcard.Mileage = mileage; jobcard.BranchID = CurrentUser.BranchID; } jobcard.HealthCheckDetails.Add(new HealthCheckDetails { JobcardNo = jobcardNo, HcCode = hcCode, Status = status, Comments = comments }); } _uow.Jobcards.Add(jobcard); _uow.SaveChanges(); sr.Dispose(); //isSuccess = true; return(jobcardNo); }