Exemplo n.º 1
0
 public Context()
 {
     SpreadsheetManager = new SpreadsheetManager(CardDataDirectory);
     TemplateManager    = new TemplateManager(TemplatesDirectory);
     CardImageManager   = new ImageManager(ImagesDirectory);
     FormattingManager  = new FormattingManager(this);
     MacroManager       = new MacroManager(this);
 }
Exemplo n.º 2
0
        /// <summary>
        /// convert foundry to view model
        /// </summary>
        /// <param name="foundry"></param>
        /// <returns></returns>
        public FoundryViewModel ConvertToView(PM00200_Foundry foundry)
        {
            FoundryViewModel model = new FoundryViewModel();

            var _paymentTermRepository  = new PaymentTermRepository();
            var _shipmentTermRepository = new ShipmentTermRepository();
            var _stateRepository        = new StateRepository();
            var _countryRepository      = new CountryRepository();

            var state       = _stateRepository.GetState(foundry.STATE);
            var country     = _countryRepository.GetCountry(foundry.COUNTRY);
            var paymentTerm = _paymentTermRepository.GetPaymentTerm(foundry.PYMTRMID);

            model.FoundryId              = foundry.VENDORID;
            model.VendorId               = foundry.VENDORID;
            model.ShortName              = (!string.IsNullOrEmpty(foundry.VENDSHNM.Replace(" ", string.Empty))) ? foundry.VENDSHNM : "N/A";
            model.ContactName            = (!string.IsNullOrEmpty(foundry.VNDCNTCT.Replace(" ", string.Empty))) ? foundry.VNDCNTCT : "N/A";
            model.ContactPhone           = FormattingManager.FormatPhone(foundry.PHNUMBR1);
            model.FaxNumber              = FormattingManager.FormatPhone(foundry.FAXNUMBR);
            model.Address1               = (!string.IsNullOrEmpty(foundry.ADDRESS1.Replace(" ", string.Empty))) ? foundry.ADDRESS1 : "N/A";
            model.Address2               = (!string.IsNullOrEmpty(foundry.ADDRESS2.Replace(" ", string.Empty))) ? foundry.ADDRESS2 : "N/A";
            model.Address3               = (!string.IsNullOrEmpty(foundry.ADDRESS3.Replace(" ", string.Empty))) ? foundry.ADDRESS3 : "N/A";
            model.City                   = (!string.IsNullOrEmpty(foundry.CITY.Replace(" ", string.Empty))) ? foundry.CITY : "N/A";
            model.StateName              = (state != null && !string.IsNullOrEmpty(state.Name)) ? state.Name : "N/A";
            model.PostalCode             = (!string.IsNullOrEmpty(foundry.ZIPCODE.Replace(" ", string.Empty))) ? foundry.ZIPCODE : "N/A";
            model.CountryName            = (country != null && !string.IsNullOrEmpty(country.Name)) ? country.Name : "N/A";
            model.PaymentTermDescription = (paymentTerm != null && !string.IsNullOrEmpty(paymentTerm.Description)) ? paymentTerm.Description : "N/A";
            model.IsActive               = foundry.VENDSTTS != 1 ? false : true;

            if (_paymentTermRepository != null)
            {
                _paymentTermRepository.Dispose();
                _paymentTermRepository = null;
            }

            if (_shipmentTermRepository != null)
            {
                _shipmentTermRepository.Dispose();
                _shipmentTermRepository = null;
            }

            if (_stateRepository != null)
            {
                _stateRepository.Dispose();
                _stateRepository = null;
            }

            if (_countryRepository != null)
            {
                _countryRepository.Dispose();
                _countryRepository = null;
            }

            return(model);
        }
Exemplo n.º 3
0
        /// <summary>
        /// convert salesperson to view model
        /// </summary>
        /// <param name="salesperson"></param>
        /// <returns></returns>
        public SalespersonViewModel ConvertToView(RM00301_Salesperson salesperson)
        {
            SalespersonViewModel model = new SalespersonViewModel();

            model.SalespersonId             = salesperson.SLPRSNID;
            model.SalespersonName           = (!string.IsNullOrEmpty(salesperson.SLPRSNFN.Replace(" ", string.Empty)) && !string.IsNullOrEmpty(salesperson.SPRSNSLN.Replace(" ", string.Empty))) ? salesperson.SLPRSNFN + " " + salesperson.SPRSNSLN : "N/A";
            model.Phone1                    = FormattingManager.FormatPhone(salesperson.PHONE1);
            model.FaxNumber                 = FormattingManager.FormatPhone(salesperson.FAX);
            model.SalesTerritoryDescription = salesperson.SALSTERR;
            model.IsActive                  = salesperson.INACTIVE != 1 ? true : false;

            return(model);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Formats <paramref name="message"/> according to <paramref name="formatString"/>.
        /// </summary>
        /// <param name="message">Message to be formatted.</param>
        /// <param name="formatString">Format string used when formatting message.</param>
        /// <returns></returns>
        public static string FormatMessage(IMessage message, string formatString)
        {
            string result = formatString;
            Regex  regex  = new Regex(@"(?<Group>\{(?<PropertyName>\w*)(:(?<FormatString>.*?))?\})",
                                      RegexOptions.Compiled | RegexOptions.Singleline);

            Match match = regex.Match(result);

            Dictionary <string, PropertyInfo> properties = GetObjectProperties(message);

            while (match.Success)
            {
                object propertyValue =
                    properties[match.Groups["PropertyName"].Value].GetValue(message, null);
                string valueFormatString = match.Groups["FormatString"].Value;

                result = result.Replace(match.Groups["Group"].Value,
                                        FormattingManager.Format(propertyValue, valueFormatString));

                match = match.NextMatch();
            } // while

            return(result);
        }
Exemplo n.º 5
0
 public void TestFixtureTearDown()
 {
     FormattingManager.RemoveFormatters();
 }
Exemplo n.º 6
0
 public void TestFixtureSetUp()
 {
     FormattingManager.AddFormatter(new DateTimeFormatter());
     FormattingManager.AddFormatter(new GenericFormatter());
 }
Exemplo n.º 7
0
        /// <summary>
        /// convert customer address to customer view model
        /// </summary>
        /// <param name="customerAddress"></param>
        /// <returns></returns>
        public CustomerViewModel ConvertToView(RM00102_CustomerAddress customerAddress)
        {
            CustomerViewModel model = new CustomerViewModel();

            var _customerDynamicsRepository = new CustomerDynamicsRepository();
            var _stateRepository            = new StateRepository();
            var _countryRepository          = new CountryRepository();
            var _siteDynamicsRepository     = new SiteDynamicsRepository();

            var dynamicsCustomer = _customerDynamicsRepository.GetCustomer(customerAddress.CUSTNMBR);
            var state            = _stateRepository.GetState(customerAddress.STATE);
            var country          = _countryRepository.GetCountry(customerAddress.COUNTRY);
            var dynamicsSite     = _siteDynamicsRepository.GetSite(customerAddress.LOCNCODE);

            var type = (dynamicsCustomer != null && customerAddress.ADRSCODE.Replace(" ", string.Empty).Equals(dynamicsCustomer.PRBTADCD.Replace(" ", string.Empty))) ?
                       "Bill To Address" : (dynamicsCustomer != null && customerAddress.ADRSCODE.Replace(" ", string.Empty).Equals(dynamicsCustomer.PRSTADCD.Replace(" ", string.Empty))) ?
                       "Ship To Address" : (dynamicsCustomer != null && customerAddress.ADRSCODE.Replace(" ", string.Empty).Equals(dynamicsCustomer.STADDRCD.Replace(" ", string.Empty))) ?
                       "Standard Address" : "N/A";

            model.CustomerAddressId = customerAddress.ADRSCODE;
            model.CustomerNumber    = customerAddress.CUSTNMBR;
            model.ShortName         = (dynamicsCustomer != null && !string.IsNullOrEmpty(dynamicsCustomer.SHRTNAME)) ? dynamicsCustomer.SHRTNAME : "N/A";
            model.AddressCode       = customerAddress.ADRSCODE;
            model.AddressType       = type;
            model.ContactName       = (!string.IsNullOrEmpty(customerAddress.CNTCPRSN.Replace(" ", string.Empty))) ? customerAddress.CNTCPRSN : "N/A";
            model.ContactPhone      = FormattingManager.FormatPhone(customerAddress.PHONE1);
            model.FaxNumber         = FormattingManager.FormatPhone(customerAddress.FAX);
            model.Address1          = (!string.IsNullOrEmpty(customerAddress.ADDRESS1.Replace(" ", string.Empty))) ? customerAddress.ADDRESS1 : "N/A";
            model.Address2          = (!string.IsNullOrEmpty(customerAddress.ADDRESS2.Replace(" ", string.Empty))) ? customerAddress.ADDRESS2 : "N/A";
            model.Address3          = (!string.IsNullOrEmpty(customerAddress.ADDRESS3.Replace(" ", string.Empty))) ? customerAddress.ADDRESS3 : "N/A";
            model.City            = (!string.IsNullOrEmpty(customerAddress.CITY.Replace(" ", string.Empty))) ? customerAddress.CITY : "N/A";
            model.StateName       = (state != null && !string.IsNullOrEmpty(state.Name)) ? state.Name : "N/A";
            model.PostalCode      = (!string.IsNullOrEmpty(customerAddress.ZIP.Replace(" ", string.Empty))) ? customerAddress.ZIP : "N/A";
            model.CountryName     = (country != null && !string.IsNullOrEmpty(country.Name)) ? country.Name : "N/A";
            model.ShippingMethod  = (!string.IsNullOrEmpty(customerAddress.SHIPMTHD.Replace(" ", string.Empty))) ? customerAddress.SHIPMTHD : "N/A";
            model.SiteDescription = (dynamicsSite != null && !string.IsNullOrEmpty(dynamicsSite.LOCNDSCR.Replace(" ", string.Empty))) ? dynamicsSite.LOCNDSCR : "N/A";

            if (_customerDynamicsRepository != null)
            {
                _customerDynamicsRepository.Dispose();
                _customerDynamicsRepository = null;
            }

            if (_stateRepository != null)
            {
                _stateRepository.Dispose();
                _stateRepository = null;
            }

            if (_countryRepository != null)
            {
                _countryRepository.Dispose();
                _countryRepository = null;
            }

            if (_siteDynamicsRepository != null)
            {
                _siteDynamicsRepository.Dispose();
                _siteDynamicsRepository = null;
            }

            return(model);
        }
Exemplo n.º 8
0
        /// <summary>
        /// convert project to view model
        /// </summary>
        /// <param name="project"></param>
        /// <returns></returns>
        public ProjectViewModel ConvertToView(Project project)
        {
            ProjectViewModel model = new ProjectViewModel();

            var _customerDynamicsRepository = new CustomerDynamicsRepository();
            var _foundryDynamicsRepository  = new FoundryDynamicsRepository();
            var _projectRepository          = new ProjectRepository();
            var _partRepository             = new PartRepository();

            var dynamicsCustomer = _customerDynamicsRepository.GetCustomer(project.CustomerId);
            var dynamicsFoundry  = _foundryDynamicsRepository.GetFoundry(project.FoundryId);

            model.ProjectId            = project.ProjectId;
            model.ProjectName          = (!string.IsNullOrEmpty(project.Name)) ? project.Name : "N/A";
            model.CustomerId           = project.CustomerId;
            model.CustomerName         = (dynamicsCustomer != null && !string.IsNullOrEmpty(dynamicsCustomer.SHRTNAME)) ? dynamicsCustomer.SHRTNAME : "N/A";
            model.CustomerContact      = (dynamicsCustomer != null && !string.IsNullOrEmpty(dynamicsCustomer.CNTCPRSN)) ? dynamicsCustomer.CNTCPRSN : "N/A";
            model.CustomerContactPhone = FormattingManager.FormatPhone(dynamicsCustomer.PHONE1);
            model.FoundryId            = project.FoundryId;
            model.FoundryName          = (dynamicsFoundry != null) ? dynamicsFoundry.VENDSHNM : "N/A";
            model.FoundryContact       = (dynamicsFoundry != null) ? dynamicsFoundry.VNDCNTCT : "N/A";
            model.FoundryContactPhone  = FormattingManager.FormatPhone((dynamicsFoundry != null) ? dynamicsFoundry.PHNUMBR1 : string.Empty);
            model.CreatedDate          = (project.CreatedDate != null) ? project.CreatedDate : DateTime.MinValue;
            model.CreatedDateStr       = (project.CreatedDate != null) ? project.CreatedDate.Value.ToShortDateString() : "N/A";
            model.CreatedBy            = project.CreatedBy;
            model.ModifiedDate         = (project.ModifiedDate != null) ? project.ModifiedDate : DateTime.MinValue;
            model.ModifiedDateStr      = (project.ModifiedDate != null) ? project.ModifiedDate.Value.ToShortDateString() : "N/A";
            model.ModifiedBy           = project.ModifiedBy;
            model.IsOpen                = project.IsOpen;
            model.IsHold                = project.IsHold;
            model.HoldExpirationDate    = (project.HoldExpirationDate != null) ? project.HoldExpirationDate : DateTime.MinValue;;
            model.HoldExpirationDateStr = (project.HoldExpirationDate != null) ? project.HoldExpirationDate.Value.ToShortDateString() : "N/A";
            model.HoldNotes             = (!string.IsNullOrEmpty(project.HoldNotes)) ? project.HoldNotes : "N/A";
            model.IsCanceled            = project.IsCanceled;
            model.CanceledDate          = (project.CanceledDate != null) ? project.CanceledDate : DateTime.MinValue;
            model.CanceledDateStr       = (project.CanceledDate != null) ? project.CanceledDate.Value.ToShortDateString() : "N/A";
            model.CancelNotes           = (!string.IsNullOrEmpty(project.CancelNotes)) ? project.CancelNotes : "N/A";
            model.IsComplete            = project.IsComplete;
            model.CompletedDate         = (project.CompletedDate != null) ? project.CompletedDate : DateTime.MinValue;
            model.CompletedDateStr      = (project.CompletedDate != null) ? project.CompletedDate.Value.ToShortDateString() : "N/A";
            model.Status                = project.IsOpen ? "Open" : project.IsCanceled ? "Canceled" : project.IsComplete ? "Completed" : project.IsHold ? "On Hold" : "N/A";
            model.Duration              = (project.CompletedDate != null) ? (project.CompletedDate - project.CreatedDate).Value.Days : 0;

            var notes = new List <ProjectNoteViewModel>();

            var tempNotes = _projectRepository.GetProjectNotes(project.ProjectId);

            if (tempNotes != null && tempNotes.Count > 0)
            {
                foreach (var tempNote in tempNotes)
                {
                    ProjectNoteViewModel convertedModel = new ProjectNoteConverter().ConvertToView(tempNote);

                    notes.Add(convertedModel);
                }
            }

            model.ProjectNotes = notes.OrderBy(y => y.CreatedDate).ToList();

            var parts = new List <ProjectPartViewModel>();

            var tempParts = _partRepository.GetParts().Where(x => x.Projects.Any(y => y.ProjectId == project.ProjectId)).ToList();

            if (project.Parts != null && project.Parts.Count > 0)
            {
                foreach (var part in project.Parts)
                {
                    ProjectPartViewModel convertedModel = new ProjectPartConverter().ConvertToListView(part);

                    if (parts.FirstOrDefault(x => x.PartNumber == convertedModel.PartNumber) == null)
                    {
                        parts.Add(convertedModel);
                    }
                }
            }

            if (project.ProjectParts != null && project.ProjectParts.Count > 0)
            {
                foreach (var tempPart in project.ProjectParts.Where(x => x.PartId == null))
                {
                    ProjectPartViewModel convertedModel = new ProjectPartConverter().ConvertToListView(tempPart);

                    if (parts.FirstOrDefault(x => x.PartNumber == convertedModel.PartNumber) == null)
                    {
                        parts.Add(convertedModel);
                    }
                }
            }

            model.Parts = parts.OrderBy(x => x.PartNumber).ToList();

            if (project.Rfqs != null && project.Rfqs.Count > 0)
            {
                model.RFQs = new List <RfqViewModel>();
                foreach (var rfq in project.Rfqs)
                {
                    var rfqModel = new RfqConverter().ConvertToListView(rfq);
                    model.RFQs.Add(rfqModel);
                }
            }

            if (project.PriceSheets != null && project.PriceSheets.Count > 0)
            {
                model.PriceSheets = new List <PriceSheetListModel>();

                decimal profitMargin = 0;

                foreach (var priceSheet in project.PriceSheets)
                {
                    var priceSheetModel = new PriceSheetConverter().ConvertToListView(priceSheet);

                    model.PriceSheets.Add(priceSheetModel);

                    profitMargin += priceSheetModel.ProjectMargin;
                }

                model.ProjectMargin = (profitMargin / project.PriceSheets.Count).ToString("#.##") + '%';
            }

            if (project.Quotes != null && project.Quotes.Count > 0)
            {
                model.Quotes = new List <QuoteViewModel>();
                foreach (var quote in project.Quotes)
                {
                    var quoteModel = new QuoteConverter().ConvertToListView(quote);
                    model.Quotes.Add(quoteModel);
                }
            }

            if (project.CustomerOrders != null && project.CustomerOrders.Count > 0)
            {
                model.CustomerOrders = new List <CustomerOrderViewModel>();
                foreach (var customerOrder in project.CustomerOrders)
                {
                    var customerOrderModel = new CustomerOrderConverter().ConvertToListView(customerOrder);

                    model.CustomerOrders.Add(customerOrderModel);
                }
            }

            if (project.FoundryOrders != null && project.FoundryOrders.Count > 0)
            {
                model.FoundryOrders = new List <FoundryOrderViewModel>();
                foreach (var foundryOrder in project.FoundryOrders)
                {
                    var foundryOrderModel = new FoundryOrderConverter().ConvertToListView(foundryOrder);

                    model.FoundryOrders.Add(foundryOrderModel);
                }
            }

            if (project.Shipments != null && project.Shipments.Count > 0)
            {
                model.Shipments = new List <ShipmentViewModel>();
                foreach (var shipment in project.Shipments)
                {
                    var shipmentModel = new ShipmentConverter().ConvertToView(shipment);

                    model.Shipments.Add(shipmentModel);
                }
            }

            if (_customerDynamicsRepository != null)
            {
                _customerDynamicsRepository.Dispose();
                _customerDynamicsRepository = null;
            }
            if (_foundryDynamicsRepository != null)
            {
                _foundryDynamicsRepository.Dispose();
                _foundryDynamicsRepository = null;
            }
            if (_projectRepository != null)
            {
                _projectRepository.Dispose();
                _projectRepository = null;
            }
            if (_partRepository != null)
            {
                _partRepository.Dispose();
                _partRepository = null;
            }

            return(model);
        }
Exemplo n.º 9
0
        /// <summary>
        /// convert customer to view model
        /// </summary>
        /// <param name="customer"></param>
        /// <returns></returns>
        public CustomerViewModel ConvertToView(RM00101_Customer customer)
        {
            CustomerViewModel model = new CustomerViewModel();

            var _salespersonDynamicsRepository = new SalespersonDynamicsRepository();
            var _paymentTermRepository         = new PaymentTermRepository();
            var _shipmentTermRepository        = new ShipmentTermRepository();
            var _stateRepository   = new StateRepository();
            var _countryRepository = new CountryRepository();

            var dyanmicsSalesperson = _salespersonDynamicsRepository.GetSalesperson(customer.SLPRSNID);
            var state       = _stateRepository.GetState(customer.STATE);
            var country     = _countryRepository.GetCountry(customer.COUNTRY);
            var paymentTerm = _paymentTermRepository.GetPaymentTerm(customer.PYMTRMID);

            model.CustomerId                = customer.CUSTNMBR;
            model.CustomerNumber            = customer.CUSTNMBR;
            model.CustomerName              = (!string.IsNullOrEmpty(customer.CUSTNAME.Replace(" ", string.Empty))) ? customer.CUSTNAME : "N/A";
            model.ShortName                 = (!string.IsNullOrEmpty(customer.SHRTNAME.Replace(" ", string.Empty))) ? customer.SHRTNAME : "N/A";
            model.SalespersonName           = (dyanmicsSalesperson != null) ? dyanmicsSalesperson.SLPRSNFN + " " + dyanmicsSalesperson.SPRSNSLN : "N/A";
            model.SalesTerritoryDescription = (!string.IsNullOrEmpty(customer.SALSTERR.Replace(" ", string.Empty))) ? customer.SALSTERR : "N/A";
            model.ContactName               = (!string.IsNullOrEmpty(customer.CNTCPRSN)) ? customer.CNTCPRSN : "N/A";
            model.ContactPhone              = FormattingManager.FormatPhone(customer.PHONE1);
            model.FaxNumber                 = FormattingManager.FormatPhone(customer.FAX);
            model.Address1               = (!string.IsNullOrEmpty(customer.ADDRESS1)) ? customer.ADDRESS1 : "N/A";
            model.City                   = (!string.IsNullOrEmpty(customer.CITY)) ? customer.CITY : "N/A";
            model.StateName              = (state != null) ? state.Name : "N/A";
            model.CountryName            = (country != null) ? country.Name : "N/A";
            model.PostalCode             = (!string.IsNullOrEmpty(customer.ZIP)) ? customer.ZIP : "N/A";
            model.PaymentTermDescription = (paymentTerm != null && !string.IsNullOrEmpty(paymentTerm.Description)) ? paymentTerm.Description : "N/A";
            model.IsActive               = customer.INACTIVE != 1 ? true : false;

            if (_salespersonDynamicsRepository != null)
            {
                _salespersonDynamicsRepository.Dispose();
                _salespersonDynamicsRepository = null;
            }

            if (_paymentTermRepository != null)
            {
                _paymentTermRepository.Dispose();
                _paymentTermRepository = null;
            }

            if (_shipmentTermRepository != null)
            {
                _shipmentTermRepository.Dispose();
                _shipmentTermRepository = null;
            }

            if (_stateRepository != null)
            {
                _stateRepository.Dispose();
                _stateRepository = null;
            }

            if (_countryRepository != null)
            {
                _countryRepository.Dispose();
                _countryRepository = null;
            }

            return(model);
        }