public Object GetCorporate(string Icust, string Location)
        {
            try
            {
                if (string.IsNullOrEmpty(Icust) || string.IsNullOrEmpty(Location))
                {
                    return(BadRequest(ModelState));
                }

                List <CorporateMaster> lstCorp = new ERPService().getData(Location, Icust);
                if (lstCorp != null)
                {
                    return(Ok(lstCorp.Select(x =>
                                             new
                    {
                        Phone = x.Phone.Replace("\\", "/"),
                        Name = x.Name,
                        Location = x.Location,
                        Email = x.Email,
                        No_ = x.No_,
                    })));
                }
                else
                {
                    return(StatusCode(500, new { Msg = "Result Not Found!" }));
                }
            }
            catch (Exception ex)
            {
                _ErrLogService.Log(ex, HttpContext);
                return(StatusCode(500, new { status = true, Msg = ex.Message }));
            }
        }
Example #2
0
        private void DelayedUpload(ERPService.CashDe.Upload.Mode mode)
        {
            _handlerParams.EventLink.Post(ConstHelper.EventSource, _delayedUploadRequest);

            // дата применения отложенной выгрузки 
            var applyAt = ToDateTime("apply_at");
            if (applyAt < DateTime.Now)
                throw new InvalidOperationException(String.Format(_delayedUploadDateLessThanNow, applyAt));

            using (var dbExecutor = new FbExecutor())
            {
                dbExecutor.Executor = (connection, transaction) =>
                {
                    // получаем очередной номер отложенного обновления
                    var updateId = GetDelayedUpdateId(connection, transaction);

                    // формируем имя файла для отложенного обновления
                    var fileName = ERPService.CashDe.Upload.DelayedQueueHelper
                        .GetDelayedUpdateFileName(_handlerParams.WorkingDirectory, updateId);

                    // сохраняем контент запроса в файл
                    SaveContentToFile(fileName);

                    // ставим задание в очередь отложенных обновлений
                    lock (_handlerParams.WriteSync)
                    {
                        using (var command = connection.CreateCommand())
                        {
                            command.Transaction = transaction;
                            command.CommandText =
                                "INSERT INTO DELAYED_UPDATES VALUES(@ID, @UPDATE_MODE, @APPLY_AT, 0)";

                            dbExecutor.NewParameter(command, "@ID", updateId);
                            dbExecutor.NewParameter(command, "@UPDATE_MODE", (Int32)mode);
                            dbExecutor.NewParameter(command, "@APPLY_AT", applyAt);

                            command.ExecuteNonQuery();
                        }
                    }
                };
                dbExecutor.Execute();
            }

            _handlerParams.EventLink.Post(ConstHelper.EventSource, 
                String.Format(_taskQueuedAndDelayed, applyAt));
        }
Example #3
0
        private void ImmediateUpload(ERPService.CashDe.Upload.Mode mode)
        {
            _handlerParams.EventLink.Post(ConstHelper.EventSource, _uploadRequest);

            // формируем задание на выгрузку
            var task = new ERPService.CashDe.Upload.Task
            {
                Mode = mode,
                FileName = GenerateTaskFileName()
            };

            // сохраняем контент запроса в файл
            SaveContentToFile(task.FileName);

            // ставим задание в очередь
            _handlerParams.Queue.Add(task);
            _handlerParams.EventLink.Post(ConstHelper.EventSource, _taskQueued);
        }