Beispiel #1
0
        public int ProlongeTicket(MSOWebServiceCallContextDTO context, Guid userGuid)
        {
            DbCommand cmd = db.GetStoredProcCommand("Dokumenty.prolongeTicket", context.Ticket, context.DocumentGUID, userGuid, null);

            db.ExecuteNonQuery(cmd);
            return((int)cmd.Parameters[0].Value);
        }
        public OperationResult ProlongeTicket(MSOWebServiceCallContextDTO context, string login, string password)
        {
            try
            {
                if (!Membership.ValidateUser(login, password))
                {
                    return(OperationResult.InvalidUsernameOrPassword);
                }

                int rv = new MSOIntegrationDAO().ProlongeTicket(context, (Guid)Membership.GetUser(login).ProviderUserKey);

                switch (rv)
                {
                case 0:
                    return(OperationResult.OK);

                default:
                    return(OperationResult.InvalidTicket);
                }
            }
            catch
            {
                return(OperationResult.DBConnectionError);
            }
        }
 private bool validateContext(MSOWebServiceCallContextDTO context, bool withDocumentTypeID)
 {
     return(
         context != null &&
         context.DocumentGUID != Guid.Empty &&
         (context.DocumentTypeID > 0 || !withDocumentTypeID)
         // && (context.LastHistoryID == null || context.LastHistoryID > 0)
         && !string.IsNullOrEmpty(context.Ticket)
         );
 }
Beispiel #4
0
 public int TrySaveExistingForm(XmlDocument xdoc, MSOWebServiceCallContextDTO context)
 {
     try
     {
         DbCommand cmd = db.GetStoredProcCommand("Dokumenty.zapiszDaneFormularzaMSO", context.Ticket, context.DocumentGUID, context.DocumentTypeID, context.LastHistoryID, xdoc.OuterXml, true, null);
         db.ExecuteNonQuery(cmd);
         return((int)cmd.Parameters[0].Value);
     }
     catch (SqlException ex)
     {
         throw new ArgumentException("Nie udało się zapisać formularza (" + ex.Message + ")");
     }
 }
Beispiel #5
0
 public int SaveExistingLegalAct(XmlDocument xdoc, MSOWebServiceCallContextDTO context, string fileName, string originalFileName)
 {
     try
     {
         DbCommand cmd = db.GetStoredProcCommand("Dokumenty.zapiszDaneAktuPrawnego", context.Ticket, context.DocumentGUID, context.DocumentTypeID, context.LastHistoryID, xdoc.OuterXml, false, fileName, originalFileName);
         db.ExecuteNonQuery(cmd);
         return((int)cmd.Parameters[0].Value);
     }
     catch (SqlException ex)
     {
         throw new ArgumentException("Nie udało się zapisać aktu prawnego (" + ex.Message + ")");
     }
 }
        private int validateXmlData(XmlDocument xdoc, MSOWebServiceCallContextDTO context)
        {
            MSOIntegrationDAO dao        = new MSOIntegrationDAO();
            string            schemaFile = Path.Combine(Pemi.Esoda.Tools.MSOIntegrationHelper.MSOProcessingHelper.MSODirectoryPath, dao.GetMSOSchemaFileName(context.DocumentGUID));

            if (string.IsNullOrEmpty(schemaFile))
            {
                return(-1); //no schemaFile
            }
            XmlValidator xv = new XmlValidator();

            try
            {
                return(xv.ValidateWithSchemaFile(xdoc.OuterXml, schemaFile) ? 1 : 0); //1 - xml valid, 0 - xml not valid
            }
            catch
            {
                return(-2); //validator error
            }
        }
Beispiel #7
0
 public void DeleteTicket(MSOWebServiceCallContextDTO context)
 {
     db.ExecuteNonQuery("Dokumenty.deleteTicket", context.Ticket);
 }
Beispiel #8
0
 public int CheckTicket(MSOWebServiceCallContextDTO context)
 {
     return((int)db.ExecuteScalar("Dokumenty.checkTicket", context.Ticket, context.DocumentGUID));
 }
        public OperationResult SaveForm(XmlDocument xdoc, MSOWebServiceCallContextDTO context, byte[] formContent)
        {
            OperationResult result = OperationResult.OK;

            if (!validateContext(context, true))
            {
                result = OperationResult.InvalidContext;
                return(result);
            }

            switch (validateXmlData(xdoc, context))
            {
            case 0:
                result = OperationResult.InvalidXmlData;
                break;

            case -1:
                result = OperationResult.SchemaNotFound;
                break;

            case -2:
                result = OperationResult.XmlValidatorError;
                break;
            }

            MSOIntegrationDAO dao       = new MSOIntegrationDAO();
            OperationResult   tmpRes    = result;
            string            extension = null;

            try
            {
                extension = Path.GetExtension(dao.GetFormExtension(context.DocumentTypeID));
            }
            catch
            {
                return(OperationResult.DBConnectionError);
            }
            Guid tempFilename = Guid.NewGuid();

            try
            {
                int rv = dao.TrySaveExistingForm(xdoc, context);

                if (rv == 0 && tmpRes != OperationResult.OK)
                {
                    return(tmpRes);
                }

                rv = dao.SaveExistingForm(xdoc, context, tempFilename.ToString() + extension);

                switch (rv)
                {
                case -1:
                    result = OperationResult.InvalidDocument;
                    break;

                case -2:
                    result = OperationResult.InvalidTicket;
                    break;

                case -3:
                    result = OperationResult.TicketExpired;
                    break;

                case -4:
                    result = OperationResult.DocumentTypeChanged;
                    break;

                case -5:
                    result = OperationResult.DocumentContentChanged;
                    break;

                case -6:
                    result = OperationResult.InvalidFormHash;
                    break;
                }
            }
            catch (Exception)
            {
                result = OperationResult.UnableToSaveDocument;
                return(result);
            }

            if (result != OperationResult.OK)
            {
                return(result);
            }

            string filePath = Path.Combine(Pemi.Esoda.Tools.MSOIntegrationHelper.MSOProcessingHelper.MSODirectoryPath, tempFilename.ToString() + extension);

            try
            {
                File.WriteAllBytes(filePath, formContent);
            }
            catch
            {
                return(OperationResult.UnableToSaveFormContent);
            }
            dao.DeleteTicket(context);
            return(result);
        }
        public UploadResult SaveGenericDocument(byte[] documentContent, string originalName, string mimeType, MSOWebServiceCallContextDTO context)
        {
            if (documentContent == null || documentContent.Length == 0)
            {
                return(UploadResult.FileContentEmpty);
            }

            if (string.IsNullOrEmpty(originalName) || string.IsNullOrEmpty(mimeType))
            {
                return(UploadResult.InvalidFilenameOrMimeType);
            }

            if (!validateContext(context, false))
            {
                return(UploadResult.InvalidContext);
            }

            MSOIntegrationDAO dao = new MSOIntegrationDAO();

            try
            {
                switch (dao.CheckTicket(context))
                {
                case 0:
                    return(UploadResult.TicketExpired);

                case -1:
                    return(UploadResult.InvalidTicket);
                }
            }
            catch
            {
                return(UploadResult.DBConnectionError);
            }
            Guid   tempFilename = Guid.NewGuid();
            string filePath     = Path.Combine(Server.MapPath("~/temp"), tempFilename.ToString());

            try
            {
                File.WriteAllBytes(filePath, documentContent);
            }
            catch
            {
                return(UploadResult.UnableToSaveFile);
            }
            try
            {
                switch (saveGenericDocument(filePath, originalName, mimeType, context.DocumentGUID, context.LastVersionGuid, context.Description, originalName, context.Ticket))
                {
                case -1:
                    return(UploadResult.DocumentNotFound);

                case -2:
                    return(UploadResult.UnableToAddDocumentItem);
                }
                dao.DeleteTicket(context);
                return(UploadResult.OK);
            }
            catch
            {
                return(UploadResult.DBConnectionError);
            }
        }