Ejemplo n.º 1
0
        /// <summary>
        /// Maps Delivery EF object to Delivery Model Object and
        /// returns the Delivery model object.
        /// </summary>
        /// <param name="result">EF Delivery object to be mapped.</param>
        /// <returns>Delivery Model Object.</returns>
        public Delivery MapEFToModel(EF.Models.Delivery data)
        {
            var delivery = new Delivery()
            {
                CustomerName           = data.CustomerName,
                DeliveryCost           = data.DeliveryCost,
                OrderId                = data.OrderId,
                BranchName             = data.Branch != null? data.Branch.Name:"",
                SectorName             = data.Sector != null ? data.Sector.Name : "",
                TransactionSubTypeId   = data.TransactionSubTypeId,
                TransactionSubTypeName = data.TransactionSubType != null?data.TransactionSubType.Name:"",
                VehicleNumber          = data.VehicleNumber,
                BranchId               = data.BranchId,
                Location               = data.Location,
                SectorId               = data.SectorId,
                MediaId                = data.MediaId,
                DeliveryId             = data.DeliveryId,
                DriverName             = data.DriverName,
                DriverNIN              = data.DriverNIN,
                CreatedOn              = data.CreatedOn,
                TimeStamp              = data.TimeStamp,
                Deleted                = data.Deleted,
                CreatedBy              = _userService.GetUserFullName(data.AspNetUser),
                UpdatedBy              = _userService.GetUserFullName(data.AspNetUser1),
            };

            return(delivery);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Maps Delivery EF object to Delivery Model Object and
        /// returns the Delivery model object.
        /// </summary>
        /// <param name="result">EF Delivery object to be mapped.</param>
        /// <returns>Delivery Model Object.</returns>
        public Delivery MapEFToModel(EF.Models.Delivery data)
        {
            var delivery = new Delivery();

            if (data != null)
            {
                var customerName = string.Empty;
                var customer     = _userService.GetAspNetUser(data.CustomerId);
                if (customer != null)
                {
                    customerName = customer.FirstName + ' ' + customer.LastName;
                }

                delivery = new Delivery()
                {
                    CustomerName = customerName,
                    DeliveryCost = data.DeliveryCost,
                    OrderId      = data.OrderId,

                    BranchName             = data.Branch != null ? data.Branch.Name : "",
                    SectorName             = data.Sector != null ? data.Sector.Name : "",
                    TransactionSubTypeId   = data.TransactionSubTypeId,
                    TransactionSubTypeName = data.TransactionSubType != null ? data.TransactionSubType.Name : "",
                    VehicleNumber          = data.VehicleNumber,
                    BranchId        = data.BranchId,
                    Location        = data.Location,
                    PaymentModeId   = data.PaymentModeId,
                    PaymentModeName = data.PaymentMode != null?data.PaymentMode.Name:"",
                    SectorId        = data.SectorId,
                    StoreId         = data.StoreId,
                    StoreName       = data.Store != null ? data.Store.Name : "",
                    MediaId         = data.MediaId,
                    DeliveryId      = data.DeliveryId,
                    BatchId         = data.BatchId,
                    DriverName      = data.DriverName,
                    DriverNIN       = data.DriverNIN,
                    CreatedOn       = data.CreatedOn,
                    TimeStamp       = data.TimeStamp,
                    Deleted         = data.Deleted,
                    ProductName     = data.Product != null? data.Product.Name:"",
                    Amount          = data.Amount,
                    Price           = data.Price,
                    BatchNumber     = data.Batch != null? data.Batch.Name:"",
                    CreatedBy       = _userService.GetUserFullName(data.AspNetUser),
                    UpdatedBy       = _userService.GetUserFullName(data.AspNetUser1),
                };
                if (data.DeliveryGradeSizes != null)
                {
                    if (data.DeliveryGradeSizes.Any())
                    {
                        List <Grade> grades         = new List <Grade>();
                        var          distinctGrades = data.DeliveryGradeSizes.GroupBy(g => g.GradeId).Select(o => o.First()).ToList();
                        foreach (var deliveryGradeSize in distinctGrades)
                        {
                            var grade = new Grade()
                            {
                                GradeId   = deliveryGradeSize.Grade.GradeId,
                                Value     = deliveryGradeSize.Grade.Value,
                                CreatedOn = deliveryGradeSize.Grade.CreatedOn,
                                TimeStamp = deliveryGradeSize.Grade.TimeStamp,
                                Deleted   = deliveryGradeSize.Grade.Deleted,
                                CreatedBy = _userService.GetUserFullName(deliveryGradeSize.Grade.AspNetUser),
                                UpdatedBy = _userService.GetUserFullName(deliveryGradeSize.Grade.AspNetUser1),
                            };
                            List <Denomination> denominations = new List <Denomination>();
                            if (deliveryGradeSize.Grade.DeliveryGradeSizes != null)
                            {
                                if (deliveryGradeSize.Grade.DeliveryGradeSizes.Any())
                                {
                                    var distinctSizes = deliveryGradeSize.Grade.DeliveryGradeSizes.GroupBy(s => s.SizeId).Select(o => o.First()).ToList();
                                    foreach (var ogs in distinctSizes)
                                    {
                                        var denomination = new Denomination()
                                        {
                                            DenominationId = ogs.SizeId,
                                            Value          = ogs.Size != null ? ogs.Size.Value : 0,
                                            Quantity       = ogs.Quantity,
                                            Price          = ogs.Price,
                                        };
                                        delivery.Quantity += (ogs.Quantity * ogs.Size.Value);
                                        denominations.Add(denomination);
                                    }
                                }
                                grade.Denominations = denominations;
                            }
                            grades.Add(grade);
                        }
                        delivery.Grades = grades;
                    }
                }
                return(delivery);
            }
            return(delivery);
        }