Guardar en FichaTecnicaHistorico y FichaTecnicaHistoricoPalabraClave al modificar una Ficha Tecnica

git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C419
This commit is contained in:
jmoya 2018-08-09 21:12:09 +00:00
parent 2b35302677
commit 40c6cbdd96
8 changed files with 181 additions and 8 deletions

View file

@ -43,6 +43,13 @@ namespace AYA.SlnSinort.WCF
[OperationContract] [OperationContract]
FichaTecnicaJSON GuardarFichaTecnica(FichaTecnicaJSON model); FichaTecnicaJSON GuardarFichaTecnica(FichaTecnicaJSON model);
[OperationContract]
FichaTecnicaJSON GuardarFichaTecnicaHistorico(FichaTecnicaJSON model);
[OperationContract]
FichaTecnicaJSON GuardarFichaTecnicaHistoricoPalabraClave(FichaTecnicaJSON model);
[OperationContract] [OperationContract]
FichaTecnicaJSON GuardarFichaTecnicaPalabraClave(FichaTecnicaJSON model); FichaTecnicaJSON GuardarFichaTecnicaPalabraClave(FichaTecnicaJSON model);

View file

@ -264,6 +264,51 @@ namespace AYA.SlnSinort.WCF
} }
return model; return model;
} }
public FichaTecnicaJSON GuardarFichaTecnicaHistorico(FichaTecnicaJSON model)
{
try
{
if (model.FichaTecnicaHistorico == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica histórico";
return model;
}
model = new FichaTecnicaDAL().GuardarFichaTecnicaHistorico(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public FichaTecnicaJSON GuardarFichaTecnicaHistoricoPalabraClave(FichaTecnicaJSON model)
{
try
{
if (model.ListaPalabraClaveHistorico == null)
{
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ADVERTENCIA;
model.DescripcionRespuesta = "No se encontraron datos de la ficha técnica histórico";
return model;
}
model = new FichaTecnicaDAL().GuardarFichaTecnicaHistoricoPalabraClave(model);
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public FichaTecnicaJSON GuardarFichaTecnicaPalabraClave(FichaTecnicaJSON model) public FichaTecnicaJSON GuardarFichaTecnicaPalabraClave(FichaTecnicaJSON model)
{ {

View file

@ -127,7 +127,7 @@ $('#tableSitios').on('click', 'button', function () {
url = url.replace("View", "FichaTecnica"); url = url.replace("View", "FichaTecnica");
url = url.replace("Controller", "NormativaReglamentacionTecnica"); url = url.replace("Controller", "NormativaReglamentacionTecnica");
url = url.replace("[$ID]", ROT47(data.IdFichaTecnica.toString())); url = url.replace("[$ID]", ROT47(data.IdFichaTecnica.toString()));
url = url.replace("[$ESTADO]", IdEstado); url = url.replace("[$ESTADO]", ROT47(IdEstado));

View file

@ -97,7 +97,8 @@ $('#tableFichas').on('click', 'button', function () {
url = url.replace("View", "FichaTecnica"); url = url.replace("View", "FichaTecnica");
url = url.replace("Controller", "NormativaReglamentacionTecnica"); url = url.replace("Controller", "NormativaReglamentacionTecnica");
url = url.replace("[$ID]", ROT47(data.IdFichaTecnica.toString())); url = url.replace("[$ID]", ROT47(data.IdFichaTecnica.toString()));
url = url.replace("[$ESTADO]", ROT47("1"));
$ESTADO
document.location.href = url; document.location.href = url;

View file

@ -9,6 +9,8 @@ var FichaTemporal;
var FichaTecnicaId; var FichaTecnicaId;
var EstadoTipo; var EstadoTipo;
var IDFicha; var IDFicha;
var PalabrasHistorico = [];
var FTPalabraClaveHistorico;
var idFicha; var idFicha;
@ -348,17 +350,45 @@ this.GuardarFichaTecnica = function () {
model.ListaPalabraClave = PalabrasClaves; model.ListaPalabraClave = PalabrasClaves;
var uri = SinortWCF + '/api/GuardarFichaTecnica'; var uri = SinortWCF + '/api/GuardarFichaTecnica';
AjaxPostData(uri, model, true, true, null, null, null); AjaxPostData(uri, model, true, true, null, null, null);
LimpiarControles(); if (EstadoTipo == "1") {
location.reload(); model.FichaTecnicaHistorico = FichaTemporal;
var uri = SinortWCF + '/api/GuardarFichaTecnicaHistorico';
AjaxPostData(uri, model, false, true, GuardarPalabraClaveHistorico, null, null);
}
//LimpiarControles();
location.replace("javascript: EntrarVerEstadoFicha('1');");
} }
else { else {
toastr.warning(Message_NoGrants, Message_Warning); toastr.warning(Message_NoGrants, Message_Warning);
} }
} }
this.GuardarPalabraClaveHistorico = function(data)
{
historico = data.FichaTecnicaHistorico;
model.ListaPalabraClaveHistorico = {};
$.each(FTPalabraClaveHistorico, function (key, item) {
PalabrasHistorico.push({
IdFichaTecnicaHistorico: historico.IdFichaTecnicaHistorico,
IdPalabraClave: item.IdPalabraClave,
Descripcion: item.Descripcion,
Estado: 1
});
});
model.ListaPalabraClaveHistorico = PalabrasHistorico;
var uri = SinortWCF + '/api/GuardarFichaTecnicaHistoricoPalabraClave';
AjaxPostData(uri, model, true, true, null, null, null);
}
this.EliminarFicha = function (accion) { this.EliminarFicha = function (accion) {
if (!confirm((accion == true) ? "NO" : "Se eliminara la ficha técnica.\n ¿Desea continuar?")) if (!confirm((accion == true) ? "NO" : "Se eliminara la ficha técnica.\n ¿Desea continuar?"))
@ -768,9 +798,10 @@ this.CargarFormulario = function (data) {
CargarGridPalabraClaveFichaTecnica(model.FichaTecnica.FichaTecnicaPalabraClave); CargarGridPalabraClaveFichaTecnica(model.FichaTecnica.FichaTecnicaPalabraClave);
CargarDocumentosAdjuntos(model.FichaTecnica.DocumentosAdjuntos); CargarDocumentosAdjuntos(model.FichaTecnica.DocumentosAdjuntos);
if (EstadoTipo == "2") if (EstadoTipo == "1")
{ {
FichaTemporal = { FichaTemporal = {
ListaPalabrasClaves: model.FichaTecnica.ListaPalabrasClaves,
IdFichaTecnica: model.FichaTecnica.IdFichaTecnica, IdFichaTecnica: model.FichaTecnica.IdFichaTecnica,
IdDocumento: model.FichaTecnica.IdDocumento, IdDocumento: model.FichaTecnica.IdDocumento,
DescripcionDocumento: model.FichaTecnica.DescripcionDocumento, DescripcionDocumento: model.FichaTecnica.DescripcionDocumento,
@ -796,14 +827,16 @@ this.CargarFormulario = function (data) {
FechaPublicacionDocumentoTecnico: model.FichaTecnica.FechaPublicacionDocumentoTecnico, FechaPublicacionDocumentoTecnico: model.FichaTecnica.FechaPublicacionDocumentoTecnico,
NumeroPublicacionVersion: model.FichaTecnica.NumeroPublicacionVersion, NumeroPublicacionVersion: model.FichaTecnica.NumeroPublicacionVersion,
Estado: 1 Estado: 1
} }
FTPalabraClaveHistorico= model.FichaTecnica.FichaTecnicaPalabraClave;
} }
ENDREQUEST(); ENDREQUEST();
} }
//this.CargarFichaTecnica = function (filtro) { //this.CargarFichaTecnica = function (filtro) {
// if (IsNullOrEmpty(FichaTecnicaId)) { // if (IsNullOrEmpty(FichaTecnicaId)) {

View file

@ -4,7 +4,7 @@
Layout = "~/Views/Shared/_Layout.cshtml"; Layout = "~/Views/Shared/_Layout.cshtml";
} }
<input type="hidden" id="hiddenHref" value="@string.Concat(Url.Action("View", "Controller", null), ViewBag.QueryEncripted)?fichatecnicaid=[$ID]"> <input type="hidden" id="hiddenHref" value="@string.Concat(Url.Action("View", "Controller", null), ViewBag.QueryEncripted)?fichatecnicaid=[$ID]&tipoestado=[$ESTADO]">
<form id="formSitios" class="form-horizontal" role="form"> <form id="formSitios" class="form-horizontal" role="form">
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>

View file

@ -277,5 +277,86 @@ namespace AYA.SlnSinortModel.DAL.Sinort
return model; return model;
} }
public FichaTecnicaJSON GuardarFichaTecnicaHistorico(FichaTecnicaJSON model)
{
try
{
using (SinortContex Conn = new SinortContex())
{
model.FichaTecnicaHistorico.ClearProperties();
if (!Conn.FichaTecnicaHistorico.Any(x => x.IdFichaTecnicaHistorico == model.FichaTecnicaHistorico.IdFichaTecnicaHistorico))
{
int? Next_id = Conn.FichaTecnicaHistorico.Max(t => (int?)t.IdFichaTecnicaHistorico);
model.FichaTecnicaHistorico.IdFichaTecnicaHistorico = (Next_id == null) ? 1 : Next_id.Value + 1;
model.FichaTecnicaHistorico.UsuarioCreacion = model.UserName;
model.FichaTecnicaHistorico.FechaCreacion = DateTime.Now;
Conn.FichaTecnicaHistorico.Add(model.FichaTecnicaHistorico);
}
else
{
model.FichaTecnicaHistorico.UsuarioModificacion = model.UserName;
model.FichaTecnicaHistorico.FechaModificacion = DateTime.Now;
Conn.Entry(model.FichaTecnicaHistorico).State = System.Data.Entity.EntityState.Detached;
Conn.FichaTecnicaHistorico.Attach(model.FichaTecnicaHistorico);
Conn.Entry(model.FichaTecnicaHistorico).State = System.Data.Entity.EntityState.Modified;
}
Conn.SaveChanges();
Conn.Commit();
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO;
}
}
catch (DbEntityValidationException ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR;
}
return model;
}
public FichaTecnicaJSON GuardarFichaTecnicaHistoricoPalabraClave(FichaTecnicaJSON model)
{
try
{
using (SinortContex Conn = new SinortContex())
{
Conn.FichaTecnicaHistoricoPalabraClave.AddRange(model.ListaPalabraClaveHistorico);
Conn.SaveChanges();
Conn.Commit();
model.CodigoRespuesta = EnumTipoCodigoRespuesta.EXITOSO.ToString();
}
}
catch (DbEntityValidationException ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
}
catch (Exception ex)
{
log.Error(ex);
model.CodigoRespuesta = EnumTipoCodigoRespuesta.ERROR.ToString();
}
return model;
}
} }
} }

View file

@ -33,6 +33,12 @@ namespace AYA.SlnSinortModel.Entidades
{ {
public FichaTecnica FichaTecnica { get; set; } public FichaTecnica FichaTecnica { get; set; }
public FichaTecnicaPalabraClave PalabraClave { get; set; } public FichaTecnicaPalabraClave PalabraClave { get; set; }
public FichaTecnicaHistorico FichaTecnicaHistorico { get; set; }
public FichaTecnicaHistoricoPalabraClave HistoricoPalabraClave{ get; set; }
public List<FichaTecnicaHistorico> FichaTecnicaHistoricos { get; set; }
public List<FichaTecnicaHistoricoPalabraClave> ListaPalabraClaveHistorico { get; set; }
public List<FichaTecnica> FichasTecnicas { get; set; } public List<FichaTecnica> FichasTecnicas { get; set; }
public List<FichaTecnicaPalabraClave> ListaPalabraClave { get; set; } public List<FichaTecnicaPalabraClave> ListaPalabraClave { get; set; }
public List<EventosJSON> EventosJSON { get; set; } public List<EventosJSON> EventosJSON { get; set; }