public override StringBuilder ConvertDocumentsToStandardFile()
        {
            var res = new StringBuilder();
            try
            {
                var groupedDocuments = Documents.GroupBy(s => (s.Header as MasterDataDocumentHeader).VendorId);
                var preVendor = new MasterDataDocumentHeader();
                foreach (var documents in groupedDocuments)
                {
                    int i = 0;
                    foreach (var doc in documents)
                    {
                        var header = (doc.Header as MasterDataDocumentHeader);
                        if (i == 0 || string.IsNullOrWhiteSpace(header.VendorId))
                        {
                            res.Append($"VR,{header.VendorId.Trim().EscapeCSV()},{header.VendorName.Trim().EscapeCSV()},1,0,MAIN,MAIN,0");
                            res.Append(Environment.NewLine + $"AR,MAIN,{header.VendorAddress1?.Trim().EscapeCSV()},{header.VendorAddress2?.Trim().EscapeCSV()},{header.VendorAddress3?.Trim().EscapeCSV()},{header.VendorCity?.Trim().EscapeCSV()},{header.VendorState?.Trim().EscapeCSV()},{header.VendorZip?.Trim().EscapeCSV()},{header.VendorPhone?.Trim().EscapeCSV()}" + Environment.NewLine);
                        }
                        else
                        {
                            res.Append(Environment.NewLine + $"AR,REMIT TO {i},{header.VendorAddress1?.Trim().EscapeCSV()},{header.VendorAddress2?.Trim().EscapeCSV()},{header.VendorAddress3?.Trim().EscapeCSV()},{header.VendorCity?.Trim().EscapeCSV()},{header.VendorState?.Trim().EscapeCSV()},{header.VendorZip?.Trim().EscapeCSV()},{header.VendorPhone?.Trim().EscapeCSV()}" + Environment.NewLine);
                        }
                        i++;
                    }
                }

            }
            catch (Exception ex)
            {
                ListErrors.Add(ex.Message);
            }

            return res;
        }
Exemplo n.º 2
0
 protected void AddError(string property, string error)
 {
     DelError(property);
     ListErrors.Add(new KeyValue()
     {
         Key = property, Value = error
     });
 }
Exemplo n.º 3
0
 private void UpdateListPPEExam()
 {
     RaisePropertyChanged(() => CurrentJournal);
     RaisePropertyChanged(() => ListPPEExam);
     RaisePropertyChanged(() => VisibilityAddPPE);
     ListErrors.Clear();
     ClearValidationRoles();
 }
Exemplo n.º 4
0
 private void UpdateJournal()
 {
     RaisePropertyChanged(() => JournalHeader);
     RaisePropertyChanged(() => JournalContent);
     RaisePropertyChanged(() => ListPPE);
     RaisePropertyChanged(() => ListBlankTypes);
     ListErrors.Clear();
 }
Exemplo n.º 5
0
        protected void DelError(string property)
        {
            KeyValue prop_error = ListErrors.Where(x => x.Key == property).FirstOrDefault();

            if (prop_error != null)
            {
                ListErrors.Remove(prop_error);
            }
        }
Exemplo n.º 6
0
 public PromptViewModel(IDataService _service)
 {
     service = _service;
     Messenger.Default.Register <PPEExamMessage>(this,
                                                 mes =>
     {
         PPEMessage = mes;
         ListErrors.Clear();
     });
 }
Exemplo n.º 7
0
        public override List <Page> FillData(byte[] inputFile)
        {
            var pages = new List <Page>();
            var page  = new Page
            {
                FromRow = Map.DataFromLine
            };
            var i = 1;

            try
            {
                var dataTable = inputFile.ReadDataFromExcel();
                foreach (DataRow dataTableRow in dataTable.Rows)
                {
                    if (i < Map.DataFromLine)
                    {
                        i++; continue;
                    }
                    foreach (var o in dataTableRow.ItemArray)
                    {
                        page.Rows.Add(o.ToString());
                    }
                    if (page.Rows.Count != 0)
                    {
                        pages.Add(page);
                    }
                    page = new Page
                    {
                        FromRow = i
                    };
                    i++;
                }
            }
            catch (Exception ex)
            {
                if (string.IsNullOrEmpty(Map.MapHeader.FieldKey))
                {
                    if (page != null)
                    {
                        ListErrors.Add(
                            $"Read file error: Line {page.FromRow} - {page.ToRow}, rows - {page.Rows.Count} : {ex.Message}{Environment.NewLine}");
                    }
                }
                else if (page != null)
                {
                    ListErrors.Add(
                        $"Read file error: Line {page.FromRow} - {page.ToRow}, {Map.MapHeader.FieldKey} - {page.Key}, Rows - {page.Rows.Count} : {ex.Message}{Environment.NewLine}");
                }
            }
            if (pages.Count == 0)
            {
                ListErrors.Add("The input file contains INVALID DATA");
            }
            return(pages);
        }
Exemplo n.º 8
0
 private void BeforeConvertDataToStandardFile()
 {
     try
     {
         ProcessBeforeConvertDocumentsToStandardFile();
     }
     catch (Exception ex)
     {
         ListErrors.Add(ex.Message);
     }
 }
Exemplo n.º 9
0
 private void ProcessAfterProcessDataFile()
 {
     try
     {
         ProcessAfterConvertDocumentsToStandardFile();
     }
     catch (Exception ex)
     {
         ListErrors.Add(ex.Message);
     }
 }
Exemplo n.º 10
0
 private void UpdatePPEExamContent()
 {
     RaisePropertyChanged(() => CurrentPPEExamContent);
     RaisePropertyChanged(() => PPEExamBlanks);
     RaisePropertyChanged(() => VisibilityControlForMOUO);
     RaisePropertyChanged(() => VisibilityControlForRCOI);
     RaisePropertyChanged(() => isReadOnlyControl);
     ListErrors.Clear();
     ClearValidationRoles();
     ValidationRules();
 }
Exemplo n.º 11
0
 private StringBuilder ConvertDataToStandardFile()
 {
     try
     {
         return(ConvertDocumentsToStandardFile());
     }
     catch (Exception ex)
     {
         ListErrors.Add(ex.Message);
         return(new StringBuilder());
     }
 }
Exemplo n.º 12
0
        public ActionResult <ListErrorsResponse> Post(ListErrors request)
        {
            ListErrorsResponse ret = new ListErrorsResponse();
            GXSelectArgs       arg = GXSelectArgs.SelectAll <GXError>();

            if (request.Ids != null && request.Ids.Length != 0)
            {
                arg.Where.And <GXError>(q => request.Ids.Contains(q.DeviceId));
            }
            ret.Errors = host.Connection.Select <GXError>(arg).ToArray();
            return(ret);
        }
Exemplo n.º 13
0
 void Properties_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
     {
         int n1 = ListErrors.Count;
         int n2 = Properties.Count;
         for (int i = n1; i < n2; i++)
         {
             ListErrors.Add(null);
             FuncValues.Add(null);
         }
     }
 }
Exemplo n.º 14
0
        protected Boolean ModelValidate()
        {
            Boolean isValid = true;

            ListErrors.Clear();
            foreach (string prop_name in ValidationPropertyNames)
            {
                if (this[prop_name] != null)
                {
                    isValid = false;
                }
            }
            return(isValid);
        }
Exemplo n.º 15
0
        protected override StringBuilder ConvertDocumentsToStandardFile()
        {
            var res = new StringBuilder();

            try
            {
                res.Append(string.Join(Environment.NewLine, Documents.Select(doc => doc.ToString())));
                return(res);
            }
            catch (Exception ex)
            {
                ListErrors.Add(ex.Message);
            }
            return(res);
        }
        public override StringBuilder BuildStandardFileHeader()
        {
            //throw new NotImplementedException();
            var res = new StringBuilder();
            try
            {
                res.AppendLine("VR,VendorId,Name,Status,Is1099,MainAddressId,DefaultRemitToId,HoldStatus");
                res.AppendLine("AR,AddressName,Address1,Address2,Address3,City,StateProvince,PostalCode,PhoneNumber");

                return res;
            }
            catch (Exception ex)
            {
                ListErrors.Add(ex.Message);
            }

            return res;
        }
Exemplo n.º 17
0
        internal StringBuilder ProcessMultiDataFile(IEnumerable <FormFile> primaryFiles, IEnumerable <FormFile> remittanceFiles)
        {
            Initialize();
            foreach (var item in primaryFiles)
            {
                var pages = FillData(item.Value);
                if (ListErrors.Any())
                {
                    ListErrors.Insert(0, fileErrorMsg(item.Key));
                    return(new StringBuilder());
                }
                else
                {
                    Pages.AddRange(pages);
                }
            }
            if (remittanceFiles != null && remittanceFiles.Any() && Map.MapRemittance != null)
            {
                PageRemittances = new List <Page>();
                foreach (var item in remittanceFiles)
                {
                    var pages = FillRemittanceData(item.Value);
                    if (ListErrors.Any())
                    {
                        ListErrors.Insert(0, fileErrorMsg(item.Key));
                        return(new StringBuilder());
                    }
                    else
                    {
                        PageRemittances.AddRange(pages);
                    }
                }
            }

            return(ProcessCore());
        }
Exemplo n.º 18
0
        protected virtual List <Page> FillData(byte[] inputFile)
        {
            var pages = new List <Page>();
            var page  = new Page
            {
                FromRow = Map.DataFromLine
            };
            var i = 1;

            try
            {
                using (var stream = new MemoryStream(inputFile))
                    using (var reader = new StreamReader(stream))
                    {
                        while (!reader.EndOfStream)
                        {
                            var dataLine = reader.ReadLine();
                            if (Map.NewPageCondition.Count > 0 &&
                                CheckCondition(Map.NewPageCondition, dataLine))
                            {
                                // truong hop ko co ky tu ket thuc page thi dong 1 page cu truoc khi bat dau 1 page moi
                                if (page != null && page.Rows.Count > 0)
                                {
                                    page.ToRow = i - 1;
                                    SetKeyAndOverflow(page);
                                    pages.Add(page);
                                }

                                page = new Page
                                {
                                    FromRow = i
                                };
                            }

                            if (page == null || i < page.FromRow)
                            {
                                i++;
                                continue;
                            }

                            page.Rows.Add(dataLine);
                            if ((Map.BreakPageCondition.Count == 0 && Map.BreakPageLine == 0 && dataLine == "\f")
                                ||
                                (Map.BreakPageCondition.Count > 0 &&
                                 CheckCondition(Map.BreakPageCondition, dataLine)) ||
                                i == page.FromRow + Map.BreakPageLine - 1)
                            {
                                page.ToRow = i;
                                SetKeyAndOverflow(page);

                                pages.Add(page);
                                page = null;

                                // khong kiem tra ky tu bat dau 1 page moi thi tao new page moi luon
                                if (Map.NewPageCondition.Count == 0)
                                {
                                    page = new Page
                                    {
                                        FromRow = i + 1
                                    };
                                }
                            }
                            i++;
                        }
                    }
            }
            catch (Exception ex)
            {
                if (string.IsNullOrEmpty(Map.MapHeader.FieldKey))
                {
                    if (page != null)
                    {
                        ListErrors.Add(
                            $"Read file error: Line {page.FromRow} - {page.ToRow}, rows - {page.Rows.Count} : {ex.Message}{Environment.NewLine}");
                    }
                }
                else if (page != null)
                {
                    ListErrors.Add(
                        $"Read file error: Line {page.FromRow} - {page.ToRow}, {Map.MapHeader.FieldKey} - {page.Key}, Rows - {page.Rows.Count} : {ex.Message}{Environment.NewLine}");
                }
            }

            if (page != null && page.Rows.Count > 0)
            {
                page.ToRow = i - 1;
                SetKeyAndOverflow(page);
                pages.Add(page);
            }

            #region for last page don't match with above condition to break page

            if (page != null && page.Rows.Count > 0 && page.Rows.Count < Map.BreakPageLine)
            {
                // insert more line up to BreakPageLine
                for (var index = page.Rows.Count; index < Map.BreakPageLine; index++)
                {
                    page.Rows.Add("");
                }

                // check overflow
                if (Map.MapOverflow != null && Map.MapOverflow.Line > 0 &&
                    !string.IsNullOrEmpty(Map.MapOverflow.Key))
                {
                    if (page.Rows.Count >= Map.MapOverflow.Line &&
                        !string.IsNullOrEmpty(page.Rows[Map.MapOverflow.Line - 1]))
                    {
                        page.HasOver = page.Rows[Map.MapOverflow.Line - 1].Trim().Contains(Map.MapOverflow.Key.Trim());
                    }
                }

                // set page key
                var mapkey = Map.MapHeader.MapFields.FirstOrDefault(e => e.FieldName == Map.MapHeader.FieldKey);
                if (mapkey != null && page.Rows.Count >= mapkey.Line)
                {
                    if (!string.IsNullOrEmpty(Map.Delimiter))
                    {
                        var rowItems =
                            page.Rows[mapkey.Line - 1].Split(new[] { Map.Delimiter }, StringSplitOptions.None).
                            ToList();
                        if (rowItems.Count >= mapkey.Start)
                        {
                            page.Key = rowItems[mapkey.Start - 1];
                        }
                    }
                    else
                    {
                        page.Key = page.Rows[mapkey.Line - 1].TMid(mapkey.Start, mapkey.Length);
                    }
                }
            }

            #endregion

            if (!string.IsNullOrEmpty(Map.MapHeader.FieldKey))
            {
                if (pages.Any(e => (string.IsNullOrEmpty(e.Key) && !e.HasOver)))
                {
                    throw new Exception("The input file contains INVALID DATA");
                }
                pages = pages.Where(e => (!string.IsNullOrEmpty(e.Key) && !e.HasOver) || e.HasOver).ToList();
            }
            if (pages.Count == 0)
            {
                ListErrors.Add("The input file contains INVALID DATA");
            }
            else
            {
                if (Map.ValidatePosition.Count > 0)
                {
                    if (!ValidateFileFormatBySpecificPos(pages[0], Map.ValidatePosition, ""))
                    {
                        ListErrors.Add("The input file is INCORRECT format.\r\n");
                    }
                }
            }
            return(pages);
        }
Exemplo n.º 19
0
 private void UpdateListPPEExam()
 {
     RaisePropertyChanged(() => ListPPEExam);
     ListErrors.Clear();
     ClearValidationRoles();
 }