예제 #1
0
        public ActionResult <WebsiteDetails> WebsiteDetails(TrackingCode trackingCode)
        {
            long[] curRange = { DateTimeOffset.UtcNow.AddDays(-30).ToUnixTimeMilliseconds(), DateTimeOffset.UtcNow.ToUnixTimeMilliseconds() };

            if (trackingCode.range.Length == 2)
            {
                curRange = new [] { trackingCode.range[0], trackingCode.range[1] };
            }

            return(_app.GetWebsiteDetails(curRange, trackingCode.trackingCode));
        }
예제 #2
0
        /// <summary>
        /// convert tracking code view model to domain
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public TrackingCode ConvertToDomain(TrackingCodeViewModel model)
        {
            TrackingCode code = new TrackingCode();

            code.TrackingCodeId = model.TrackingCodeId;
            code.CustomerId     = model.CustomerId;
            code.Code           = model.TrackingCodeDescription;
            code.IsActive       = model.IsActive;

            return(code);
        }
예제 #3
0
        public async Task <SimpleWebsiteDetails> GetWebsite(TrackingCode trackingCode)
        {
            Common.Models.Applications.Application web =
                _unitOfWorkApplicationDetails.Application.GetWithStatistics(trackingCode.trackingCode);

            if (web == null)
            {
                return(null);
            }

            return(web.GetWebsite());
        }
 public Parcel(
     DeliveryInterval deliveryInterval,
     TrackingCode trackingCode,
     Carrier carrier,
     Customer customer,
     string code
     )
 {
     DeliveryInterval = deliveryInterval;
     TrackingCode     = trackingCode;
     Carrier          = carrier;
     Customer         = customer;
     Code             = code;
 }
예제 #5
0
        /// <summary>
        /// get tracking code by id
        /// </summary>
        /// <param name="trackingCodeId"></param>
        /// <returns></returns>
        public TrackingCode GetTrackingCode(Guid trackingCodeId)
        {
            var trackingCode = new TrackingCode();

            try
            {
                trackingCode = _db.TrackingCode.FirstOrDefault(x => x.TrackingCodeId == trackingCodeId);
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Error getting tracking code: {0} ", ex.ToString());
            }

            return(trackingCode);
        }
예제 #6
0
        /// <summary>
        /// convert tracking code to view model
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public TrackingCodeViewModel ConvertToView(TrackingCode code)
        {
            TrackingCodeViewModel model = new TrackingCodeViewModel();

            var _customerDynamicsRepository = new CustomerDynamicsRepository();

            var dynamicsCustomer = _customerDynamicsRepository.GetCustomer(code.CustomerId);

            model.TrackingCodeId          = code.TrackingCodeId;
            model.CustomerId              = code.CustomerId;
            model.CustomerName            = (dynamicsCustomer != null && !string.IsNullOrEmpty(dynamicsCustomer.SHRTNAME)) ? dynamicsCustomer.SHRTNAME : "N/A";
            model.TrackingCodeDescription = (!string.IsNullOrEmpty(code.Code)) ? code.Code : "N/A";
            model.IsActive = code.IsActive;

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

            return(model);
        }
예제 #7
0
        /// <summary>
        /// save tracking code
        /// </summary>
        /// <param name="newTrackingCode"></param>
        /// <returns></returns>
        public OperationResult SaveTrackingCode(TrackingCode newTrackingCode)
        {
            var operationResult = new OperationResult();

            try
            {
                var existingTrackingCode = _db.TrackingCode.FirstOrDefault(x => x.Code.ToLower() == newTrackingCode.Code.ToLower());

                if (existingTrackingCode == null)
                {
                    logger.Debug("TrackingCode is being created...");

                    newTrackingCode.IsActive = true;

                    _db.TrackingCode.Add(newTrackingCode);

                    _db.SaveChanges();

                    operationResult.Success = true;
                    operationResult.Message = "Success";
                }
                else
                {
                    operationResult.Success = false;
                    operationResult.Message = "Duplicate Entry";
                }
            }
            catch (Exception ex)
            {
                operationResult.Success = false;
                operationResult.Message = "Error";
                logger.ErrorFormat("Error saving new tracking code: {0} ", ex.ToString());
            }

            return(operationResult);
        }
예제 #8
0
        /// <summary>
        /// update tracking code
        /// </summary>
        /// <param name="trackingCode"></param>
        /// <returns></returns>
        public OperationResult UpdateTrackingCode(TrackingCode trackingCode)
        {
            var operationResult = new OperationResult();

            var existingTrackingCode = GetTrackingCode(trackingCode.TrackingCodeId);

            if (existingTrackingCode != null)
            {
                logger.Debug("TrackingCode is being updated.");

                try
                {
                    _db.TrackingCode.Attach(existingTrackingCode);

                    _db.Entry(existingTrackingCode).CurrentValues.SetValues(trackingCode);

                    _db.SaveChanges();

                    operationResult.Success = true;
                    operationResult.Message = "Success";
                }
                catch (Exception ex)
                {
                    operationResult.Success = false;
                    operationResult.Message = "Error";
                    logger.ErrorFormat("Error while updating tracking code: { 0} ", ex.ToString());
                }
            }
            else
            {
                operationResult.Success = false;
                operationResult.Message = "Unable to find selected tracking code.";
            }

            return(operationResult);
        }
예제 #9
0
        public async Task <ActionResult <SimpleWebsiteDetails> > WebsiteSimpleDetails(TrackingCode trackingCode)
        {
            SimpleWebsiteDetails result = await _app.GetWebsite(trackingCode);

            if (result != null)
            {
                return(result);
            }

            return(new UnauthorizedResult());
        }
예제 #10
0
 protected bool Equals(TrackingCode other)
 {
     return(string.Equals(Type, other.Type) && string.Equals(Name, other.Name) && string.Equals(Value, other.Value));
 }
예제 #11
0
 protected bool Equals(TrackingCode other)
 {
     return string.Equals(Type, other.Type) && string.Equals(Name, other.Name) && string.Equals(Value, other.Value);
 }