public CidadeViewModel Create(CidadeViewModel Model) { try { daoCidade DaoCidade = new daoCidade(); CIDADE ModelAdd = DaoCidade.FindUfCidade(Model.CI_002_C, Model.CI_003_C); if (ModelAdd != null) { throw new Exception("Já existe uma cidade com o mesmo no no estado"); } else { ModelAdd = Model.toCreate(); DaoCidade.Add(ModelAdd); } return(ModelAdd.toViewModel()); } catch (DbEntityValidationException e) { #region Detalha Erro string erro = ""; foreach (var eve in e.EntityValidationErrors) { erro = "Entity of type \"{0}\" in state \"{1}\" has the following validation errors:"; erro = String.Format(erro, eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { erro = erro + String.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } #endregion throw new Exception(erro.ToString()); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } }
public DataTable CreateImport(HttpPostedFileBase upload) { try { if (upload != null && upload.ContentLength > 0) { if (upload.FileName.EndsWith(".csv")) { Stream stream = upload.InputStream; DataTable csvTable = new DataTable(); using (CsvReader csvReader = new CsvReader(new StreamReader(stream), true)) { csvTable.Load(csvReader); } if (csvTable.Rows != null && csvTable.Rows[0].ItemArray.Count() == 9) { throw new Exception("Com numero de colunas incompativel"); } List <CidadeViewModel> vmCidade = new List <CidadeViewModel>(); foreach (DataRow row in csvTable.Rows) { vmCidade.Add(row.toDataTableViewModel()); } daoCidade DaoCidade = new daoCidade(); CIDADE Model; foreach (CidadeViewModel item in vmCidade) { Model = DaoCidade.FindUfCidade(item.CI_002_C, item.CI_003_C); if (Model != null) { item.toEdit(Model); DaoCidade.Update(Model); } else { Model = item.toCreate(); DaoCidade.Add(Model); } } return(csvTable); } else { throw new Exception("Formato de arquivo invalido"); } } } catch (DbEntityValidationException e) { #region Detalha Erro string erro = ""; foreach (var eve in e.EntityValidationErrors) { erro = "Entity of type \"{0}\" in state \"{1}\" has the following validation errors:"; erro = String.Format(erro, eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { erro = erro + String.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } #endregion throw new Exception(erro.ToString()); } catch (Exception ex) { throw new Exception(ex.Message.ToString()); } return(null); }