Ejemplo n.º 1
0
        private void checkD0401(ModelSource <UserProfile> models, String storePath, Naming.GeneralStatus status)
        {
            try
            {
                if (!Directory.Exists(storePath))
                {
                    return;
                }

                var    items    = models.GetTable <InvoiceAllowance>();
                String archieve = storePath + ".zip";
                foreach (var f in Directory.EnumerateFiles(storePath, "*.xml", SearchOption.AllDirectories))
                {
                    String fileName = Path.GetFileNameWithoutExtension(f);

                    var item = items.Where(c => c.AllowanceNumber == fileName).FirstOrDefault();

                    if (item != null && item.InvoiceAllowanceDispatchLog == null)
                    {
                        item.InvoiceAllowanceDispatchLog = new InvoiceAllowanceDispatchLog
                        {
                            DispatchDate = DateTime.Now,
                            Status       = (int)status
                        };
                        models.SubmitChanges();
                    }

                    storeFile(archieve, f);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
        }
        private void checkC0501(ModelSource <UserProfile> models, String storePath, Naming.GeneralStatus status)
        {
            try
            {
                if (!Directory.Exists(storePath))
                {
                    return;
                }

                var    items    = models.GetTable <InvoiceItem>();
                String archieve = storePath + ".zip";
                foreach (var f in Directory.EnumerateFiles(storePath, "*.xml", SearchOption.AllDirectories))
                {
                    String fileName = Path.GetFileNameWithoutExtension(f);
                    if (Regex.IsMatch(fileName, "[A-Za-z]{2}[0-9]{8}"))
                    {
                        String trackCode = fileName.Substring(0, 2).ToUpper();
                        String no        = fileName.Substring(2);
                        var    item      = items.Where(c => c.TrackCode == trackCode &&
                                                       c.No == no).FirstOrDefault();

                        if (item != null && item.InvoiceCancellation != null && item.InvoiceCancellation.InvoiceCancellationDispatchLog == null)
                        {
                            item.InvoiceCancellation.InvoiceCancellationDispatchLog = new InvoiceCancellationDispatchLog
                            {
                                DispatchDate = DateTime.Now,
                                Status       = (int)status
                            };
                            models.SubmitChanges();
                        }

                        storeFile(archieve, f);
                    }
                }
            }
            catch (Exception ex)
            {
                ApplicationLogging.CreateLogger <CheckInvoiceDispatch>()
                .LogError(ex, ex.Message);
            }
        }