public ActionResult GravarPublicacao(string Publicacao, string PublicacaoOld, string ListaUsuarioGrupo, string ListaUsuario) { NumberFormatInfo provider = NumberFormatInfo.CurrentInfo; var form = (JObject)JsonConvert.DeserializeObject(Publicacao); Publicacao _anterior = new Publicacao(); Publicacao _novo = new Publicacao(); _novo.PublicacaoId = (int)Util.GetValue<int>(form, "PublicacaoId"); _novo.SiteId = GetCurrentSite(); _novo.PublicacaoTipoId = (int)Util.GetValue<int>(form, "PublicacaoTipo"); var data = (String)Util.GetValue<String>(form, "Data"); if (!String.IsNullOrEmpty(data)){ CultureInfo provider2 = new CultureInfo("pt-BR"); _novo.Data = Convert.ToDateTime(data, provider2); } var dataValidade = (String)Util.GetValue<String>(form, "DataValidade"); if (!String.IsNullOrEmpty(dataValidade)){ CultureInfo provider2 = new CultureInfo("pt-BR"); _novo.DataValidade = Convert.ToDateTime(dataValidade, provider2); } _novo.Detalhe.IdiomaId = 1; _novo.Detalhe.Titulo = (string)Util.GetValue<string>(form, "Titulo"); _novo.Detalhe.Resumo = (string)Util.GetValue<string>(form, "Resumo"); _novo.Detalhe.Conteudo = (string)Util.GetValue<string>(form, "PublicacaoConteudo"); _novo.Ativo = Convert.ToBoolean((int?)Util.GetValue<int?>(form, "Status")); _novo.Destaque = Convert.ToBoolean((int?)Util.GetValue<int?>(form, "ExibirHome")); _novo.Posicao = (int?)Util.GetValue<int?>(form, "Posicao"); _novo.EditoriaId = (int)Util.GetValue<int>(form, "Editoria", 0); _novo.Detalhe.Fonte = (string)Util.GetValue<string>(form, "Fonte"); _novo.Tags = (string)Util.GetValue<string>(form, "tags_1"); _novo.Complemento.Privado = Convert.ToBoolean((int?)Util.GetValue<int?>(form, "Privado")); //var grupos = (string)Util.GetValue<string>(form, "UsuarioGrupo"); #region --> Validação PublicacaoResponse resp = new PublicacaoResponse(); if (_novo.PublicacaoTipoId == null || _novo.PublicacaoTipoId == 0) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Selecionar o Tipo de Publicação."; } if (Util.GetValue<int?>(form, "Status") == null) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Selecionar o Status: Ativo / Inativo."; } if (_novo.Complemento.Privado == true && string.IsNullOrEmpty(ListaUsuarioGrupo) && string.IsNullOrEmpty(ListaUsuario)) { resp.Resposta.Erro = true; if (resp.Resposta.Mensagem.Length > 0) resp.Resposta.Mensagem += "<br />"; resp.Resposta.Mensagem += "- Informar pelo menos um Usuário ou Grupo para publicação privada."; } if (resp.Resposta.Erro) { return Json(resp, JsonRequestBehavior.AllowGet); } #endregion List<PublicacaoIdiomaExcecao> Extras = new List<PublicacaoIdiomaExcecao>(); List<PublicacaoIdiomaExcecao> ExtrasOld = new List<PublicacaoIdiomaExcecao>(); #region -> Idiomas Extras //-- EN PublicacaoIdiomaExcecao ExtraEN = new PublicacaoIdiomaExcecao(); ExtraEN.IdiomaId = (int)Util.IDIOMA.ENGLISH; ExtraEN.Titulo = (string)Util.GetValue<string>(form, "TituloEN"); ExtraEN.Resumo = (string)Util.GetValue<string>(form, "ResumoEN"); ExtraEN.Conteudo = (string)Util.GetValue<string>(form, "PublicacaoConteudoEN"); //ExtraEN.Editora = (string)Util.GetValue<string>(form, "EditoriaEN"); ExtraEN.Fonte = (string)Util.GetValue<string>(form, "FonteEN"); Extras.Add(ExtraEN); //-- ES PublicacaoIdiomaExcecao ExtraES = new PublicacaoIdiomaExcecao(); ExtraES.IdiomaId = (int)Util.IDIOMA.ESPANHOL; ExtraES.Titulo = (string)Util.GetValue<string>(form, "TituloES"); ExtraES.Resumo = (string)Util.GetValue<string>(form, "ResumoES"); ExtraES.Conteudo = (string)Util.GetValue<string>(form, "PublicacaoConteudoES"); ExtraES.Editora = (string)Util.GetValue<string>(form, "EditoriaES"); //ExtraES.Fonte = (string)Util.GetValue<string>(form, "FonteES"); Extras.Add(ExtraES); //-- FR PublicacaoIdiomaExcecao ExtraFR = new PublicacaoIdiomaExcecao(); ExtraFR.IdiomaId = (int)Util.IDIOMA.FRANCES; ExtraFR.Titulo = (string)Util.GetValue<string>(form, "TituloFR"); ExtraFR.Resumo = (string)Util.GetValue<string>(form, "ResumoFR"); ExtraFR.Conteudo = (string)Util.GetValue<string>(form, "PublicacaoConteudoFR"); ExtraFR.Editora = (string)Util.GetValue<string>(form, "EditoriaFR"); //ExtraFR.Fonte = (string)Util.GetValue<string>(form, "FonteFR"); Extras.Add(ExtraFR); #endregion if (PublicacaoOld != null && PublicacaoOld != "null") { var formOld = (JObject)JsonConvert.DeserializeObject(PublicacaoOld); _anterior.PublicacaoId = (int)Util.GetValue<int>(formOld, "UsuarioId"); _anterior.Titulo = (string)Util.GetValue<string>(formOld, "Nome"); _anterior.Resumo = (string)Util.GetValue<string>(formOld, "Login"); //_anterior.Data = (DateTime)Util.GetValue<string>(form, "Data"); #region -> Idiomas Extras (Dados anterior a alteração) //-- EN PublicacaoIdiomaExcecao ExtraENOld = new PublicacaoIdiomaExcecao(); ExtraENOld.IdiomaId = (int)Util.IDIOMA.ENGLISH; ExtraENOld.Titulo = (string)Util.GetValue<string>(form, "TituloEN"); ExtraENOld.Resumo = (string)Util.GetValue<string>(form, "ResumoEN"); ExtraENOld.Conteudo = (string)Util.GetValue<string>(form, "PublicacaoConteudoEN"); //ExtraENOld.Editora = (string)Util.GetValue<string>(form, "EditoriaEN"); ExtraENOld.Fonte = (string)Util.GetValue<string>(form, "FonteEN"); ExtrasOld.Add(ExtraENOld); //-- ES PublicacaoIdiomaExcecao ExtraESOld = new PublicacaoIdiomaExcecao(); ExtraESOld.IdiomaId = (int)Util.IDIOMA.ESPANHOL; ExtraESOld.Titulo = (string)Util.GetValue<string>(form, "TituloES"); ExtraESOld.Resumo = (string)Util.GetValue<string>(form, "ResumoES"); ExtraESOld.Conteudo = (string)Util.GetValue<string>(form, "PublicacaoConteudoES"); //ExtraESOld.Editora = (string)Util.GetValue<string>(form, "EditoriaES"); ExtraESOld.Fonte = (string)Util.GetValue<string>(form, "FonteES"); ExtrasOld.Add(ExtraESOld); //-- FR PublicacaoIdiomaExcecao ExtraFROld = new PublicacaoIdiomaExcecao(); ExtraFROld.IdiomaId = (int)Util.IDIOMA.FRANCES; ExtraFROld.Titulo = (string)Util.GetValue<string>(form, "TituloFR"); ExtraFROld.Resumo = (string)Util.GetValue<string>(form, "ResumoFR"); ExtraFROld.Conteudo = (string)Util.GetValue<string>(form, "PublicacaoConteudoFR"); //ExtraFROld.Editora = (string)Util.GetValue<string>(form, "EditoriaFR"); ExtraFROld.Fonte = (string)Util.GetValue<string>(form, "FonteFR"); ExtrasOld.Add(ExtraFROld); #endregion } return Json(new PublicacaoDAL().Gravar(_novo, _anterior, Extras, ExtrasOld, ListaUsuarioGrupo, ListaUsuario), JsonRequestBehavior.AllowGet); }
public Publicacao() { Detalhe = new PublicacaoIdiomaExcecao(); Complemento = new PublicacaoComplemento(); AprovacaoHistorico = new List<PublicacaoHistoricoItem>(); }