public static bool WriteItemServiceToDb(string department, out string message) { if (!Services.ContainsKey(department)) { message = "Не удается найти отделение: " + department; return(false); } int i = 0; try { using (FirebirdClient firebirdClient = new FirebirdClient( Config.Instance.MisDbAddress, Config.Instance.MisDbPort, Config.Instance.MisDbName, Config.Instance.MisDbUserName, Config.Instance.MisDbUserPassword)) { foreach (ItemService item in Services[department]) { if (!item.HasChanged) { continue; } object priorityValue = null; if (int.TryParse(item.Priority, out int priority)) { priorityValue = priority; } bool result = firebirdClient.ExecuteUpdateQuery( Config.Instance.SqlInsertServicePriority, new Dictionary <string, object> { { "@schid", item.Schid }, { "@priority", priorityValue } }, true); if (result) { item.ConfirmSave(); i++; } } } } catch (Exception e) { message = e.Message; return(false); } message = "Записано в БД строк: " + i; return(true); }
public static async void WriteSurveyResultToDb() { await Task.Run(() => { ItemSurveyResult surveyResult = Instance; SendMailAboutNegativeMark(surveyResult); if ((DateTime.Now - previousRateTime).TotalSeconds >= 120) { previousRatesDcodes.Clear(); } string mark = surveyResult.Mark; if (previousRatesDcodes.Contains(surveyResult.DCode)) { mark = "Duplicate"; } else { previousRatesDcodes.Add(surveyResult.DCode); } Logging.ToLog("ItemSurveyResult - Запись результата опроса в базу данных: " + surveyResult.ToString()); using (Services.FirebirdClient fBClient = new Services.FirebirdClient( Services.Config.Instance.MisDbAddress, Services.Config.Instance.MisDbPort, Services.Config.Instance.MisDbName, Services.Config.Instance.MisDbUserName, Services.Config.Instance.MisDbUserPassword)) { Dictionary <string, object> surveyResults = new Dictionary <string, object>() { { "@dcode", surveyResult.DCode }, { "@docrate", mark }, { "@comment", surveyResult.Comment }, { "@phonenumber", surveyResult.PhoneNumber }, { "@photopath", surveyResult.PhotoLink }, { "@depnum", surveyResult.DocDeptCode } }; string query = Services.Config.Instance.SqlInsertLoyaltySurveyResult; Logging.ToLog("ItemSurveyResult - Результат выполнения: " + fBClient.ExecuteUpdateQuery(query, surveyResults)); previousRateTime = surveyResult.SurveyDateTime.Value; } }).ConfigureAwait(false); }