internal T AdicionarBloco <T>(Estilo estilo) where T : BlocoBase { var bloco = CriarBloco <T>(estilo); Blocos.Add(bloco); return(bloco); }
internal T AdicionarBloco <T>() where T : BlocoEventoBase { var bloco = CriarBloco <T>(); Blocos.Add(bloco); return(bloco); }
public ActionResult Create(Blocos blocos, HttpPostedFileBase Imagem, string fotoExistente = "") { if (!string.IsNullOrEmpty(fotoExistente)) { blocos.Imagem = fotoExistente; ModelState.Remove("Imagem"); } if (ModelState.IsValid) { blocos.Excluido = false; blocos.DataCadastro = DateTime.Now; db.Blocos.Add(blocos); if (db.SaveChanges() > 0) { #region image e slug if (Imagem != null) { // var path1400x629 = Server.MapPath(string.Format(pathFoto1400x629, blocos.Id)); var path744x500 = Server.MapPath(string.Format(pathFoto744x500, blocos.Id)); var path405x270 = Server.MapPath(string.Format(pathFoto405x270, blocos.Id)); var path365x240 = Server.MapPath(string.Format(pathFoto365x240, blocos.Id)); var path260x173 = Server.MapPath(string.Format(pathFoto260x173, blocos.Id)); var fileOriginal = Server.MapPath(string.Format(pathOriginal, blocos.Id)); blocos.Imagem = Utils.SaveFileBase(fileOriginal, Imagem); //Utils.resizeImageAndSave3(Path.Combine(fileOriginal, blocos.Imagem), 1400, 629, path1400x629); Utils.resizeImageAndSave3(Path.Combine(fileOriginal, blocos.Imagem), 744, 500, path744x500); Utils.resizeImageAndSave3(Path.Combine(fileOriginal, blocos.Imagem), 405, 270, path405x270); Utils.resizeImageAndSave3(Path.Combine(fileOriginal, blocos.Imagem), 365, 240, path365x240); Utils.resizeImageAndSave3(Path.Combine(fileOriginal, blocos.Imagem), 260, 173, path260x173); } int suffix = 0; do { blocos.Chave = blocos.Nome.GenerateSlug() + (suffix > 0 ? suffix.ToString() : ""); suffix++; } while (db.Blocos.Where(o => o.Chave == blocos.Chave).Count() > 0); #endregion db.Entry(blocos).State = EntityState.Modified; db.SaveChanges(); } GerenciaLogs.saveLog(ref db, WebSecurity.GetUserId(User.Identity.Name), areaADM, TipoAcesso.Insercao, blocos.Id); return(RedirectToAction("Index")); } return(View(blocos)); }
// // GET: /Blocos/Delete/5 public ActionResult Delete(int id = 0) { Blocos blocos = db.Blocos.Find(id); if (blocos == null) { return(HttpNotFound()); } return(View(blocos)); }
public ActionResult DeleteConfirmed(int id) { Blocos blocos = db.Blocos.Find(id); //db.Blocos.Remove(blocos); blocos.Excluido = true; db.Entry(blocos).State = EntityState.Modified; db.Entry(blocos).Property(x => x.DataCadastro).IsModified = false; db.Entry(blocos).Property(x => x.Ativo).IsModified = false; db.SaveChanges(); GerenciaLogs.saveLog(ref db, WebSecurity.GetUserId(User.Identity.Name), areaADM, TipoAcesso.Exclusao, blocos.Id); return(RedirectToAction("Index")); }
public static Blocos GerarBlocos(string numeroTexto) { List<Centena> centenas = QuebrarCentenas(numeroTexto); var blocos = new Blocos(); for (int i = 0; i < centenas.Count; i++) { int ordem = centenas.Count - i; var bloco = new Bloco(centenas[i], ordem); blocos.Add(bloco); } return blocos; }
private static string ColocarSeparadorDeCentena(Bloco bloco, Blocos blocos) { // - Array do bloco atual int indiceBloco = blocos.IndexOf(bloco); // - Array do bloco atual bool primeiroBloco = indiceBloco == 0; // - Array do bloco atual bool ultimoBloco = indiceBloco == blocos.Count - 1; // - Não é o primeiro bloco, então haverá separador bool jaEstaPreenchido = indiceBloco > 0; // - Tem dezena zerada: Para não separar os blocos de centena em caso de: // - 1.000.200 = "um milhão e duzentos" // possui "e" // - 1.000.201 = "um milhão duzentos e um" // não possui "e" bool temDezenaZerada = bloco.Centena.Dezena.ToInt() == 0; // - Centena menor que cem: // - "mil e setenta" // possui "e" bool centenaMenorQueCem = bloco.Centena.ToInt() < 100; // - Todas as centenas pra frente estão zeradas, // acabou de descrever o número // - "um milhão" // "1.000.000" pára no primeiro bloco // - "um milhão e cem mil" // "1.100.000" pára no segundo bloco bool proximasCentenasZeradas = ProximasCentenasZeradas(blocos, indiceBloco); // - Bloco zerado é ignorado var blocoZerado = bloco.Centena.ToInt() == 0; if (blocoZerado) { return string.Empty; } // - O primeiro bloco não possui separados if (primeiroBloco) { return string.Empty; } // - Só possui um bloco então não precisa de separador var possuiApenasUmBloco = blocos.Count == 1; if (possuiApenasUmBloco) { return string.Empty; } // - Último bloco com valor, então o separador é "e" if (jaEstaPreenchido && (proximasCentenasZeradas || ultimoBloco)) { return " e "; } // - Último bloco com valor, então o separador é "e" if (jaEstaPreenchido) { return ", "; } var sb = new StringBuilder(); sb.AppendLine("Regra para SEPARADOR não encontrada!"); sb.AppendLine(blocos.ToString()); sb.AppendFormat("bloco atual:{0}", bloco); throw new Exception(sb.ToString()); }
internal void AdicionarBloco(BlocoBase bloco) { Blocos.Add(bloco); }