/// <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); }
/// <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); }