Пример #1
0
        public void CheckinDocument(long uri)
        {
            Logger.Info($"File Checked in  {uri}");
            DocManagerHelper.CheckinDocument(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            var filename = InforConnection.GetFileNameSansExtension(Convert.ToInt64(uri), AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);

            if (System.IO.File.Exists(Path.Combine(PdPath, filename)))
            {
                System.IO.File.Delete(Path.Combine(PdPath, filename));
            }
        }
Пример #2
0
        public void DocServerCommand(string cc, string keyc, string userdatac)
        {
            try
            {
                if (cc == "forcesave")
                {
                    var recUri   = keyc.Split(new[] { "__" }, StringSplitOptions.None)[0];
                    var filename = InforConnection.GetFileNameSansExtension(Convert.ToInt64(recUri), AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
                    if (!System.IO.File.Exists(Path.Combine(PdPath, filename)))
                    {
                        var f = System.IO.File.Create(Path.Combine(PdPath, filename));
                        f.Close();
                    }

                    Thread.Sleep(5000);

                    var client  = new RestClient(SettingsManager.GetSettingValueAsString("files.docservice.url.commandService"));
                    var request = new RestRequest(Method.POST)
                    {
                        RequestFormat = DataFormat.Json
                    };
                    request.AddBody(new { c = cc, key = keyc, userdata = userdatac });
                    request.AddHeader("Content-Type", "application/json");
                    request.AddHeader("Cache-Control", "no-cache");
                    var responsestring = client.Execute(request).Content;
                    //check errors

                    var response = JsonConvert.DeserializeObject <CommandServiceResponse>(responsestring);

                    var validResponses = new List <long> {
                        4
                    };
                    if (validResponses.Contains(response.error))
                    {
                        if (!userdatac.Contains("checkin"))
                        {
                            if (System.IO.File.Exists(Path.Combine(PdPath, filename)))
                            {
                                System.IO.File.Delete(Path.Combine(PdPath, filename));
                            }
                        }
                    }

                    if (!validResponses.Contains(response.error))
                    {
                        return;
                    }



                    if (!userdatac.Contains("checkin"))
                    {
                        return;
                    }

                    var docUri = userdatac.Split(new[] { "||" }, StringSplitOptions.None)[1];

                    CheckinDocument(Convert.ToInt64(docUri));
                    DropUser(keyc, "");
                }

                if (cc != "drop")
                {
                    return;
                }
                {
                    DropUser(keyc, userdatac);
                    if (!userdatac.Contains("cancel"))
                    {
                        return;
                    }
                    CancelDocument(Convert.ToInt64(userdatac.Split(new[] { "||" }, StringSplitOptions.None)[1]));
                }
            }
            catch (Exception e)
            {
                Logger.Info($"Error {e.Message}");
            }
        }