public JsonResult Setup(Juschubut.PdfSign.Common.SignSetup setup) { string signID = Guid.NewGuid().ToString(); Juschubut.Logger.Log.Info(string.Format("Setup {0}", signID)); InitialStatus status = new InitialStatus { SignID = signID, Fecha = DateTime.Now, Codigo = PdfSign.Common.StatusCode.Iniciado }; Sign sign = new Sign { SignID = signID, Status = new List <Status>(new Status[] { status }) }; if (setup != null) { sign.Setup = setup; } if (sign.Setup == null) { sign.Setup = new PdfSign.Common.SignSetup(); } if (sign.Setup.Archivos == null || sign.Setup.Archivos.Count == 0) { setup.Archivos.Add(sign.CrearArchivoDefault()); } for (int i = 0; i < sign.Setup.Archivos.Count; i++) { sign.Setup.Archivos[i].ID = i + 1; } Repository.Set(sign); Juschubut.Logger.Log.Debug("Setup Result"); Juschubut.Logger.Log.Debug(Newtonsoft.Json.JsonConvert.SerializeObject(sign)); return(Status(sign)); }
public JsonResult Status(Models.StatusSetModel request) { var sign = Repository.Get(request.SignID); Juschubut.PdfSign.Common.StatusCode statusCode = PdfSign.Common.StatusCode.Unset; Enum.TryParse <Juschubut.PdfSign.Common.StatusCode>(request.StatusCode, out statusCode); Status status = new Status { Fecha = DateTime.Now, Codigo = statusCode, Descripcion = request.Message }; if (sign == null) { sign = new Sign { SignID = request.SignID, }; sign.Setup.Archivos.Add(sign.CrearArchivoDefault()); Repository.Set(sign); } var file = sign.Setup.Archivos.Find(x => x.ID == request.FileID.GetValueOrDefault(1)); if (file != null) { if (file.CodigoStatus != PdfSign.Common.StatusCode.DocumentoFirmado.ToString()) { file.CodigoStatus = request.StatusCode; file.DescripcionStatus = request.Message; } sign.ArchivoActual = file; } sign.Status.Add(status); Repository.Set(sign); return(Json(true, JsonRequestBehavior.AllowGet)); }