Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }