예제 #1
0
 /// <summary>
 /// This constructor initializes EnumerableResponses/Lists to be empty.
 /// This avoids the problem of serializing null collections.
 /// </summary>
 public ReceiptHeader()
 {
     ReceiptDetail              = new EnumerableResponse <ReceiptDetail>();
     ReceiptOptionalField       = new EnumerableResponse <ReceiptOptionalField>();
     ReceiptDetailOptionalField = new EnumerableResponse <ReceiptDetailOptionalField>();
     // Casts from List to IList.
 }
예제 #2
0
        /// <summary>
        /// Get Segment Details for Grid
        /// </summary>
        /// <param name="pageNumber"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        private EnumerableResponse <T> GetSegmentCodes(int pageNumber, int pageSize)
        {
            // Get the segment code from service
            var segmentCodes = Service.Get(pageNumber, pageSize, _filterExpression);

            var firstOrDefault = segmentCodes.Items.FirstOrDefault();

            if (firstOrDefault != null && (segmentCodes.Items.Any() && firstOrDefault.SegmentCode == null))
            {
                segmentCodes = new EnumerableResponse <T> {
                    Items = new List <T>()
                };
            }

            var dataIndex = (pageSize > 0 && pageNumber > 0) ? (pageSize * pageNumber) + 1 : 1;

            foreach (var segmentCode in segmentCodes.Items)
            {
                segmentCode.SerialNumber = dataIndex;
                segmentCode.DisplayIndex = dataIndex;
                dataIndex++;
            }

            return(segmentCodes);
        }
예제 #3
0
        public async Task <EnumerableResponse <List <PermisosDto> > > GetPermisosPagina(int?padre,
                                                                                        CancellationToken cancellationToken = new CancellationToken())
        {
            var errors = new List <BaseResponseDto>();

            cancellationToken.ThrowIfCancellationRequested();
            try
            {
                var response = await EnumerableResponse(await GetAll(string.Format("api/Permiso/PermisosPagina?Pagina={0}", padre)));

                var data = new List <PermisosDto>();
                if (response.ErrorCode == 200)
                {
                    dynamic jObject = (JObject)JsonConvert.DeserializeObject(response.jObject, (typeof(JObject)));
                    foreach (JObject json in ((JArray)jObject["data"]).Children <JObject>())
                    {
                        data.Add(PermisosDto.create(json));
                    }
                }
                response.Data = data;
                return(response);
            }
            catch (Exception e)
            {
                errors.Add(BaseResponseDto.create(Clase, e.Message));
                return(EnumerableResponse <List <PermisosDto> > .create(500, errors));
            }
        }
예제 #4
0
        public async Task <EnumerableResponse <DataTable> > GetConsultaDataTable(string busqueda, string table, string tipo, int page, int limit,
                                                                                 CancellationToken cancellationToken = new CancellationToken())
        {
            var errors = new List <BaseResponseDto>();

            cancellationToken.ThrowIfCancellationRequested();
            try
            {
                var response = await EnumerableResponseDataTable(await Get(string.Format("api/Consulta/GetAll?tabla={0}&tipo={1}&busqueda={2}&page={3}&limit={4}",
                                                                                         table, tipo, busqueda, page, limit)));

                if (response.ErrorCode == 200)
                {
                    dynamic data = (JObject)JsonConvert.DeserializeObject(response.jObject, (typeof(JObject)));
                    response.Data  = (DataTable)JsonConvert.DeserializeObject(data["data"].ToString(), (typeof(DataTable)));
                    response.Count = data["count"] != null?Convert.ToInt32(data["count"].ToString()) : 0;

                    response.Pages = data["pages"] != null?Convert.ToInt32(data["pages"].ToString()) : 0;
                }
                return(response);
            }
            catch (Exception e)
            {
                errors.Add(BaseResponseDto.create(Clase, e.Message));
                return(EnumerableResponse <DataTable> .create(500, errors));
            }
        }
        public async Task <IResponse <IEnumerable <LookupItem> > > QueryDatastore_All(string accessor)
        {
            var resp = new EnumerableResponse <LookupItem>();

            try
            {
                var data = await _datastoreContext.All(accessor);

                if (data == null || (data != null && data.Count() == 0))
                {
                    resp.Status = Enums.ResponseStatus.NoResponse;
                }
                else
                {
                    resp.Data   = data.OrderBy(x => x.Label);
                    resp.Status = Enums.ResponseStatus.OK;
                }
            }
            catch (Exception e)
            {
                resp.Status    = Enums.ResponseStatus.Error;
                resp.Exception = e;
            }

            return(resp);
        }
예제 #6
0
        /// <summary>
        /// Save Segment Codes
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns>SegmentCodeViewModel.</returns>
        internal SegmentCodesViewModel <T> Save(EnumerableResponse <T> model)
        {
            model = GetDataForSave(model, _segmentCodesCacheKey, GridKey, _keySegmentFilter);

            SegmentCodesViewModel <T> viewModel = null;

            model = Service.Save(model);

            SessionHelper.Remove(_segmentCodesCacheKey);

            foreach (var segment in model.Items)
            {
                segment.HasChanged = false;
                segment.IsDeleted  = false;
                segment.IsNewLine  = false;
            }

            var message = CommonResx.SaveSuccessMessage;

            viewModel = new SegmentCodesViewModel <T>
            {
                SegmentCodes      = model,
                UserMessage       = new UserMessage(model, message),
                TotalResultsCount = model.TotalResultsCount
            };

            return(viewModel);
        }
예제 #7
0
        private async void FillTable(string busqueda, int page, int limit)
        {
            consulta = null;
            consulta = await consultaService.GetConsultaDataTable(txtBusqueda.Text, table,
                                                                  tipo, page, limit);

            dgDatos.DataSource = null;
            dgDatos.Rows.Clear();
            dgDatos.Columns.Clear();
            if (consulta is null || consulta.Data is null)
            {
                return;
            }

            if (consulta.Data.Rows.Count > 0)
            {
                dgDatos.DataSource = consulta.Data;
                DataGridViewButtonColumn btnVer = new DataGridViewButtonColumn();
                dgDatos.Columns.Add(btnVer);
                btnVer.Text  = "Ver";
                btnVer.Name  = "Ver";
                btnVer.Width = 84;
                btnVer.UseColumnTextForButtonValue = true;
                DataGridViewButtonColumn btnEditar = new DataGridViewButtonColumn();
                dgDatos.Columns.Add(btnEditar);
                btnEditar.Text  = "Editar";
                btnEditar.Name  = "Editar";
                btnEditar.Width = 84;
                btnEditar.UseColumnTextForButtonValue = true;
            }
        }
예제 #8
0
 /// <summary>
 /// Segment Codes View Model Class constructor
 /// </summary>
 public SegmentCodesViewModel()
 {
     Segments     = new List <SegmentName>();
     SegmentCodes = new EnumerableResponse <T> {
         Items = new List <T>()
     };
 }
        /// <summary>
        /// Save the SegmentCode
        /// </summary>
        /// <param name="model">ItemSegments</param>
        /// <returns>ItemSegments</returns>
        public EnumerableResponse <T> Save(EnumerableResponse <T> model)
        {
            using (var repository = Resolve <ISegmentCodesEntity <T> >())
            {
                model.Items = repository.Save(model.Items);

                return(model);
            }
        }
예제 #10
0
        public async Task <BaseResponse> GetReasonList(int ReasonID)
        {
            EnumerableResponse <Reason> r = new EnumerableResponse <Reason>();
            var Param = new[] { new SqlParameter("@ReasonID", ReasonID) };

            r.reasons = await ReasonRepository.ExecSPToListAsync("EXEC BSQ_GetBoarderReasonList @ReasonID", Param);

            r.success = true;
            return(r);
        }
예제 #11
0
        public async Task <BaseResponse> GetCheckOutBoarderList(string lastSyncDate)
        {
            EnumerableResponse <CheckOutBoarder> r = new EnumerableResponse <CheckOutBoarder>();
            var Param = new[] { new SqlParameter("@LastSyncDate", lastSyncDate) };

            r.checkOutBoarders = await CheckOutBoarderRepository.ExecSPToListAsync("EXEC BSQ_GetBoarderCheckOutForSync @LastSyncDate", Param);

            r.success = true;
            return(r);
        }
 public virtual JsonNetResult Exists(EnumerableResponse <T> model, string segmentNumber, string segmentCode)
 {
     try
     {
         return(JsonNet(ControllerInternal.Exists(model, segmentNumber, segmentCode)));
     }
     catch (BusinessException businessException)
     {
         return(JsonNet(BuildErrorModelBase(SegmentCodesResx.SegmentCode, businessException)));
     }
 }
예제 #13
0
        public async Task <BaseResponse> GetConfigurationByID(Int16 ConfigID)
        {
            EnumerableResponse <Configuration> r = new EnumerableResponse <Configuration>();
            var Param = new[] { new SqlParameter("@ConfigId", ConfigID) };

            r.configs = await ConfigurationRepository.ExecSPToListAsync("EXEC GetConfigurationByConfigId @ConfigId", Param);

            r.success = true;
            //string[] key = Validate.FirstOrDefault().Value.Split(';');
            return(r);
        }
        public async Task <BaseResponse> GetActiveBoarderListCount(string lastSyncDate)
        {
            //string currentDate = DateTime.Now.ToString("yyyy-MM-dd");
            EnumerableResponse <ActiveBoarderCount> r = new EnumerableResponse <ActiveBoarderCount>();
            var Param = new[] { new SqlParameter("@LastSyncDate", lastSyncDate) };

            r.activeBoarderCounts = await ActiveBoarderCountRepository.ExecSPToListAsync("EXEC BSQ_GetBoarderActiveListCount @LastSyncDate", Param);

            r.success = true;
            return(r);
        }
 public virtual JsonNetResult Save(EnumerableResponse <T> model)
 {
     try
     {
         return(JsonNet(ControllerInternal.Save(model)));
     }
     catch (BusinessException businessException)
     {
         return(JsonNet(BuildErrorModelBase(CommonResx.SaveFailedMessage, businessException)));
     }
 }
        public void HttpResponseHelper_StandardiseResponse_NoResponse()
        {
            var response = new EnumerableResponse <string>()
            {
                Status = Enums.ResponseStatus.NoResponse
            };

            var result = HttpResponseHelper.StandardiseResponse(request, response);

            Assert.AreEqual(System.Net.HttpStatusCode.OK, result.StatusCode);
            Assert.AreEqual(@"{""Request"":{""Route"":""test route"",""Details"":""test details""},""Response"":{""Status"":""NoResponse""}}", result.Content.ReadAsStringAsync().Result);
        }
예제 #17
0
 public virtual JsonNetResult DeleteDetailOptFields(EnumerableResponse <ReceiptDetailOptionalField> model, int pageNumber,
                                                    int pageSize)
 {
     try
     {
         return(JsonNet(ControllerInternal.DeleteOptionalFields(model, pageNumber, pageSize, true)));
     }
     catch (BusinessException businessException)
     {
         return(JsonNet(BuildErrorModelBase(CommonResx.DeleteFailedMessage, businessException, CommonResx.OptionalField)));
     }
 }
예제 #18
0
 public virtual JsonNetResult GetOptFields(int pageNumber, int pageSize, EnumerableResponse <ReceiptDetailOptionalField> model)
 {
     try
     {
         var receiptOptionalFields = ControllerInternal.GetOptFields(pageNumber, pageSize, model);
         return(JsonNet(receiptOptionalFields));
     }
     catch (BusinessException businessException)
     {
         return(JsonNet(BuildErrorModelBase(CommonResx.GetFailedMessage, businessException, ReceiptHeaderResx.Receipts)));
     }
 }
        public void HttpResponseHelper_StandardiseResponse_Error()
        {
            var response = new EnumerableResponse <string>()
            {
                Status    = Enums.ResponseStatus.Error,
                Exception = new System.Exception("outer", new System.Exception("inner"))
            };

            var result = HttpResponseHelper.StandardiseResponse(request, response);

            Assert.AreEqual(System.Net.HttpStatusCode.BadRequest, result.StatusCode);
            Assert.AreEqual(@"{""Request"":{""Route"":""test route"",""Details"":""test details""},""Response"":{""Status"":""Error"",""Exception"":""inner""}}", result.Content.ReadAsStringAsync().Result);
        }
예제 #20
0
        public async Task <BaseResponse> GetActiveBoarderList(SyncBatchSetting syncBatchSetting)
        {
            EnumerableResponse <ActiveBoarder> r = new EnumerableResponse <ActiveBoarder>();
            var Param = new[] { new SqlParameter("@Batch", syncBatchSetting.Batch),
                                new SqlParameter("@RowPerBatch", syncBatchSetting.RowPerBatch) };

            r.activeBoarders = await ActiveBoarderRepository.ExecSPToListAsync("EXEC BSQ_GetBoarderActiveList @Batch, @RowPerBatch", Param);

            r.success = true;
            //byte[] data = r.activeBoarders.First().Photo;
            //MemoryStream ms = new MemoryStream(data);
            return(r);
        }
예제 #21
0
        private async void label1_Click(object sender, EventArgs e)
        {
            string search = txtBusqueda.Text;

            if (cmbLimit.SelectedIndex > -1 || cmbLimit.SelectedItem != null)
            {
                if (cmbLimit.SelectedIndex > -1)
                {
                    var prueba = cmbLimit.SelectedValue;
                    consulta = await consultaService.GetConsultaDataTable(txtBusqueda.Text, table,
                                                                          tipo, 1, Convert.ToInt32(cmbLimit.SelectedValue.ToString()));

                    pag = new Paginador(Convert.ToInt32(cmbLimit.SelectedValue.ToString()), consulta.Count);
                    refreshTable(search);
                }
            }
        }
예제 #22
0
        public async Task <EnumerableResponse <TData> > EnumerableResponseDataTable(HttpResponseMessage response)
        {
            var errors = new List <BaseResponseDto>();

            try
            {
                if (response.IsSuccessStatusCode)
                {
                    if (!string.IsNullOrEmpty(await response.Content.ReadAsStringAsync()))
                    {
                        errors.Add(BaseResponseDto.create("", ""));
                        return(EnumerableResponse <TData> .create(200, errors, await response.Content.ReadAsStringAsync()));
                    }
                    if (response.StatusCode.Equals(HttpStatusCode.NoContent))
                    {
                        return(EnumerableResponse <TData> .create(204, errors, null));
                    }
                    return(EnumerableResponse <TData> .create(Convert.ToInt32(response.StatusCode.ToString()),
                                                              errors, null));
                }
                if (response.StatusCode != HttpStatusCode.OK &&
                    response.StatusCode != HttpStatusCode.InternalServerError)
                {
                    if (!string.IsNullOrEmpty(await response.Content.ReadAsStringAsync()))
                    {
                        JObject jObject = JObject.Parse(await response.Content.ReadAsStringAsync());
                        var     values  = VentasService.Util.JObjectExtensions.ToDictionary(jObject);
                        foreach (var error in values)
                        {
                            errors.Add(BaseResponseDto.create(error.Key, error.Value));
                        }
                        return(EnumerableResponse <TData> .create(Convert.ToInt32(response.StatusCode.ToString()), errors));
                    }
                    errors.Add(BaseResponseDto.create(Clase, "Error consultando registro"));
                    return(EnumerableResponse <TData> .create(500, errors));
                }
                errors.Add(BaseResponseDto.create(Clase, "Error no identificado"));
                return(EnumerableResponse <TData> .create(500, errors));
            }
            catch (Exception e)
            {
                errors.Add(BaseResponseDto.create(Clase, e.Message));
                return(EnumerableResponse <TData> .create(500, errors));
            }
        }
예제 #23
0
        public async Task <IResponse> PopulateDatastore()
        {
            var resp      = new EnumerableResponse <dynamic>();
            var accessors = new Dictionary <string, string>();
            var r         = new List <LoadOntologyResponse>();

            Dictionary <string, Dictionary <string, string> > data = new Dictionary <string, Dictionary <string, string> >();

            try
            {
                var finalStatus = ResponseStatus.DataLoaded;
                var d           = _rdfSourceContext.All();
                foreach (var x in d)
                {
                    try
                    {
                        accessors[x.Accessor] = x.Label;
                        var graph = RdfHelper.GetGraphFromOntology(x);
                        var items = RdfHelper.GetFlatDataFromGraph(x.RootTypes, graph);

                        data[x.Accessor] = items;
                        r.Add(new LoadOntologyResponse(x.Location));
                    }
                    catch (Exception e)
                    {
                        r.Add(new LoadOntologyResponse(x.Location, ResponseStatus.Error, e));
                        finalStatus  = ResponseStatus.Error;
                        resp.Message = "One or more ontologies could not be loaded";
                    }
                }
                await _datastoreContext.Populate(accessors, data);

                resp.Status = finalStatus;
            }
            catch (Exception e)
            {
                resp.Status    = Enums.ResponseStatus.Error;
                resp.Exception = e;
            }
            resp.Data = r;
            return(resp);
        }
예제 #24
0
        /// <summary>
        /// Checks for the segment code duplication
        /// </summary>
        /// <param name="model"></param>
        /// <param name="segmentNumber">The segment number.</param>
        /// <param name="segmentCode">The segment code.</param>
        /// <returns>SegmentCodeViewModel</returns>
        internal SegmentCodesViewModel <T> Exists(EnumerableResponse <T> model, string segmentNumber, string segmentCode)
        {
            var isRecordValid = Service.Exists(segmentNumber, segmentCode);
            EnumerableResponse <T> cachedSegmentCodes = GetDataForSave(model, _segmentCodesCacheKey, GridKey, _keySegmentFilter);

            var items = cachedSegmentCodes.Items;

            if (!isRecordValid && items.Any())
            {
                isRecordValid = items.Where(r => r.SegmentCode == segmentCode && r.IsDeleted).Count() > 0;
            }
            if (isRecordValid && items.Any())
            {
                isRecordValid = items.Where(r => r.SegmentCode == segmentCode && r.IsNewLine).Count() == 0;
            }
            return(new SegmentCodesViewModel <T>
            {
                IsValidSegmentCode = isRecordValid,
                ErrorMessage = CommonResx.DuplicateMessage
            });
        }
예제 #25
0
        public async Task <EnumerableResponse <List <PaginaDto> > > GetAll(int id, int page, int limit,
                                                                           CancellationToken cancellationToken = new CancellationToken())
        {
            cancellationToken.ThrowIfCancellationRequested();
            try
            {
                var result   = new EnumerableResponse <List <PaginaDto> >();
                var response = await EnumerableResponse(await GetAll(
                                                            string.Format("api/Pagina/GetAll?id={0}&page={1}&limit={2}", id, page, limit).ToString(), cancellationToken));

                var data = new List <PaginaDto>();

                if (response.ErrorCode == 200)
                {
                    //JObject jObject = JObject.Parse(await response.Content.ReadAsStringAsync());
                    //foreach (JObject json in ((JArray)jObject["data"]).Children<JObject>())
                    //{
                    //    data.Add(PaginaDto.create(json));
                    //}
                    dynamic jObject = (JObject)JsonConvert.DeserializeObject(response.jObject, (typeof(JObject)));
                    foreach (JObject json in ((JArray)jObject["data"]).Children <JObject>())
                    {
                        data.Add(PaginaDto.create(json));
                    }
                    result.Count = jObject["count"] != null?Convert.ToInt32(jObject["count"].ToString()) : 0;

                    result.Pages = jObject["pages"] != null?Convert.ToInt32(jObject["pages"].ToString()) : 0;

                    result.Total = jObject["total"] != null?Convert.ToInt32(jObject["total"].ToString()) : 0;

                    return(result);
                }
                return(result);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public virtual JsonNetResult AreSegmentCodesDeletable(EnumerableResponse <T> model)
        {
            var deletableSegmentCodes = new List <string>();

            try
            {
                return(JsonNet(ControllerInternal.AreSegmentCodesDeletable(model.Items, ref deletableSegmentCodes)));
            }
            catch (BusinessException businessException)
            {
                var userMessage = new UserMessage {
                    Errors = businessException.Errors
                };
                var viewModel = new SegmentCodesViewModel <T>
                {
                    IsSegmentCodeUsed   = true,
                    DeletedSegmentCodes = deletableSegmentCodes,
                    UserMessage         = userMessage
                };
                return(JsonNet(viewModel));
            }
        }
예제 #27
0
        /// <summary>
        /// Clone Source Journal
        /// </summary>
        /// <param name="insertIndex">insertIndex</param>
        /// <param name="pageNumber">pageNumber</param>
        /// <param name="pageSize">pageSize</param>
        /// <param name="model">model</param>
        /// <returns>SourceJournalProfileViewModel</returns>
        internal SourceJournalProfileViewModel <T> CloneSourceJournal(int insertIndex, int pageNumber, int pageSize,
                                                                      T model)
        {
            //If Source Journal Exist get the data
            if (model.Exist)
            {
                //Remove previous Source Journal data from Cache
                SessionHelper.Remove(_sourceJournalProfileCacheKey);

                _sourceJournalName = model.SourceJournalName;

                var sourceJournalData = GetSourcePaged(-1, -1);

                if (sourceJournalData.Items.Any())
                {
                    SessionHelper.Set(_sourceJournalProfileCacheKey, sourceJournalData.Items.ToList());
                }

                return(GetSourceJournal(insertIndex, pageNumber, pageSize, model));
            }

            var cacheData = SessionHelper.Get <List <SourceCode> >(_sourceJournalProfileCacheKey);

            if (cacheData != null)
            {
                //Merge Latest changed data to cache
                MergeChangeItemToCache(model.SourceCodeList, 0, 0, 0, GridKey, _sourceJournalProfileCacheKey, _getSourceCodePaged,
                                       _keySourceCodeGridFilter, null);

                //Get Data from cache to clone
                var cachedData = SessionHelper.Get <List <SourceCode> >(_sourceJournalProfileCacheKey);
                List <SourceCode> cloneData;

                //remove deleted records from cache
                if (cachedData.Any())
                {
                    cloneData = cachedData.ToList().Where(s => s.IsDeleted != true).ToList();

                    var displayIndex = 1;
                    //Update Clone data - IsNewLine and HasChanged to True
                    foreach (var item in cloneData)
                    {
                        item.IsNewLine    = true;
                        item.HasChanged   = true;
                        item.DisplayIndex = displayIndex++;
                    }

                    //Set Clone Data to Cache
                    SessionHelper.Set(_sourceJournalProfileCacheKey, cloneData);
                }

                return(GetSourceJournal(insertIndex, pageNumber, pageSize, model));
            }

            //New Record return new Enumerable Response
            var enumerableResponse = new EnumerableResponse <SourceCode>
            {
                Items             = new List <SourceCode>(),
                TotalResultsCount = 0,
                CachedListCount   = 0
            };

            var viewmodel = new SourceJournalProfileViewModel <T>
            {
                Data = new T {
                    SourceJournalName = model.SourceJournalName, SourceCodeList = enumerableResponse
                },
                UserMessage = new UserMessage(enumerableResponse),
                UserAccess  = Service.GetAccessRights()
            };

            return(viewmodel);
        }
예제 #28
0
 /// <summary>
 /// SourceJournalProfile Constructor
 /// </summary>
 public SourceJournalProfile()
 {
     SourceCodeList = new EnumerableResponse <SourceCode>();
 }