public Task <int> MappingData(VbNonPORequestViewModel viewModel)
        {
            var result     = new List <VbRequestDetailModel>();
            var myProperty = viewModel.GetType().GetProperties();

            int value = int.Parse(dbSet.OrderByDescending(p => p.Id)
                                  .Select(r => r.Id)
                                  .First().ToString());

            foreach (var prop in myProperty.Where(x => x.PropertyType == typeof(bool)))
            {
                if ((bool)prop.GetValue(viewModel))
                {
                    var item = new VbRequestDetailModel()
                    {
                        VBId = value, UnitName = prop.Name
                    };
                    if (prop.Name.ToUpper() == "OTHERS")
                    {
                        item.DetailOthers = viewModel.DetailOthers;
                    }

                    EntityExtension.FlagForCreate(item, _identityService.Username, UserAgent);
                    _dbContext.VbRequestsDetails.Add(item);
                    //_dbContext.SaveChangesAsync();
                }
            }

            return(_dbContext.SaveChangesAsync());
        }
Example #2
0
        public Task <int> MappingData(VbWithPORequestViewModel viewmodel)
        {
            var result = new List <VbRequestDetailModel>();

            int value = int.Parse(_DbSet.OrderByDescending(p => p.Id)
                                  .Select(r => r.Id)
                                  .First().ToString());

            string VbNo = _DbSet.OrderByDescending(p => p.Id)
                          .Select(r => r.VBNo)
                          .First().ToString();

            foreach (var itm1 in viewmodel.Items)
            {
                foreach (var itm2 in itm1.Details)
                {
                    var item = new VbRequestDetailModel()
                    {
                        VBNo = VbNo,
                        PONo = itm1.no,
                        //POId = itm1._id.GetValueOrDefault(),
                        UnitName        = itm1.unit.Name,
                        VBId            = value,
                        ProductId       = itm2.product._id,
                        ProductCode     = itm2.product.code,
                        ProductName     = itm2.product.name,
                        DefaultQuantity = itm2.defaultQuantity,
                        DefaultUOMId    = itm2.defaultUom._id,
                        DefaultUOMUnit  = itm2.defaultUom.unit,
                        DealQuantity    = itm2.dealQuantity,
                        DealUOMId       = itm2.dealUom._id,
                        DealUOMUnit     = itm2.dealUom.unit,
                        Conversion      = itm2.Conversion,
                        Price           = itm2.priceBeforeTax,
                        ProductRemark   = itm2.productRemark,
                        IsUseVat        = itm2.includePpn,
                        POExtUseVat     = itm2.useVat,
                        POId            = itm1._id.GetValueOrDefault(),
                        UnitId          = itm1.unit.Id
                    };
                    EntityExtension.FlagForCreate(item, _identityService.Username, UserAgent);
                    _dbContext.VbRequestsDetails.Add(item);
                }
            }

            return(_dbContext.SaveChangesAsync());
        }
        public VbRequestModel MappingData2(VbNonPORequestViewModel viewModel)
        {
            var listDetail = new List <VbRequestDetailModel>();

            var myProperty = viewModel.GetType().GetProperties();

            int value = int.Parse(dbSet.OrderByDescending(p => p.Id)
                                  .Select(r => r.Id)
                                  .First().ToString());

            foreach (var prop in myProperty.Where(x => x.PropertyType == typeof(bool)))
            {
                if ((bool)prop.GetValue(viewModel))
                {
                    var item = new VbRequestDetailModel()
                    {
                        VBId              = value,
                        UnitName          = prop.Name,
                        LastModifiedBy    = viewModel.LastModifiedBy,
                        LastModifiedAgent = viewModel.LastModifiedAgent,
                        DeletedBy         = "",
                        DeletedAgent      = "",
                        CreatedBy         = viewModel.CreatedBy,
                        CreatedAgent      = viewModel.CreatedAgent,
                    };
                    if (prop.Name.ToUpper() == "OTHERS")
                    {
                        item.DetailOthers = viewModel.DetailOthers;
                    }
                    listDetail.Add(item);
                    //EntityExtension.FlagForCreate(item, _identityService.Username, UserAgent);
                    //_dbContext.VbRequestsDetails.Add(item);
                    //_dbContext.SaveChangesAsync();
                }
            }
            var result = new VbRequestModel()
            {
                VbRequestDetail = listDetail,
                Active          = viewModel.Active,
                Id                  = viewModel.Id,
                Date                = (DateTimeOffset)viewModel.Date,
                DateEstimate        = (DateTimeOffset)viewModel.DateEstimate,
                UnitId              = viewModel.Unit.Id,
                UnitCode            = viewModel.Unit.Code,
                UnitName            = viewModel.Unit.Name,
                UnitDivisionId      = viewModel.Division.Id,
                UnitDivisionName    = viewModel.Division.Name,
                VBNo                = viewModel.VBNo,
                CurrencyId          = viewModel.Currency.Id,
                CurrencyCode        = viewModel.Currency.Code,
                CurrencyRate        = viewModel.Currency.Rate,
                CurrencySymbol      = viewModel.Currency.Symbol,
                CurrencyDescription = viewModel.Currency.Description,
                Amount              = viewModel.Amount,
                Usage               = viewModel.Usage,
                UnitLoad            = viewModel.UnitLoad,
                CreatedBy           = viewModel.CreatedBy,
                CreatedAgent        = viewModel.CreatedAgent,
                LastModifiedAgent   = viewModel.LastModifiedAgent,
                LastModifiedBy      = viewModel.LastModifiedBy,
                LastModifiedUtc     = DateTime.Now,
                CreatedUtc          = viewModel.CreatedUtc
            };

            return(result);
        }
Example #4
0
        public VbRequestModel MappingData2(int id, VbWithPORequestViewModel viewModel)
        {
            var listDetail = new List <VbRequestDetailModel>();

            foreach (var itm1 in viewModel.Items)
            {
                foreach (var itm2 in itm1.Details)
                {
                    var item = new VbRequestDetailModel()
                    {
                        //Id = itm2.Id,
                        VBId              = id,
                        POId              = itm1._id.GetValueOrDefault(),
                        PONo              = itm1.no,
                        VBNo              = viewModel.VBNo,
                        UnitName          = itm1.unit.Name,
                        UnitId            = itm1.unit.Id,
                        Conversion        = itm2.Conversion,
                        DealQuantity      = itm2.dealQuantity,
                        DealUOMId         = itm2.dealUom._id,
                        DealUOMUnit       = itm2.dealUom.unit,
                        DefaultQuantity   = itm2.defaultQuantity,
                        DefaultUOMId      = itm2.defaultUom._id,
                        DefaultUOMUnit    = itm2.defaultUom.unit,
                        Price             = itm2.priceBeforeTax,
                        ProductCode       = itm2.product.code,
                        ProductId         = itm2.product._id,
                        ProductName       = itm2.product.name,
                        ProductRemark     = itm2.productRemark,
                        LastModifiedBy    = viewModel.LastModifiedBy,
                        LastModifiedAgent = viewModel.LastModifiedAgent,
                        DeletedBy         = "",
                        DeletedAgent      = "",
                        CreatedBy         = viewModel.CreatedBy,
                        CreatedAgent      = viewModel.CreatedAgent,
                        IsUseVat          = itm2.includePpn,
                    };

                    listDetail.Add(item);
                }
            }

            string  IncomeTaxBy   = "";
            string  IncomeTaxId   = "";
            string  IncomeTaxName = "";
            string  IncomeTaxRate = "";
            string  temp          = "";
            decimal Amount        = 0;

            foreach (var itm in viewModel.Items)
            {
                if (string.IsNullOrEmpty(itm.IncomeTax._id))
                {
                    IncomeTaxId = "";
                }
                else
                {
                    IncomeTaxId = itm.IncomeTax._id;
                }

                if (string.IsNullOrEmpty(itm.IncomeTax.Name))
                {
                    IncomeTaxName = "";
                }
                else
                {
                    IncomeTaxName = itm.IncomeTax.Name;
                }

                if (string.IsNullOrEmpty(itm.IncomeTax.Rate))
                {
                    IncomeTaxRate = "";
                }
                else
                {
                    IncomeTaxRate = itm.IncomeTax.Rate;
                }

                if (string.IsNullOrEmpty(itm.IncomeTaxBy))
                {
                    IncomeTaxBy = "";
                }
                else
                {
                    IncomeTaxBy = itm.IncomeTaxBy;
                }

                foreach (var itm2 in itm.Details)
                {
                    Amount += itm2.priceBeforeTax * itm2.dealQuantity;
                }

                IncomeTaxBy   = itm.IncomeTaxBy;
                IncomeTaxId   = itm.IncomeTax._id;
                IncomeTaxName = itm.IncomeTax.Name;
                IncomeTaxRate = itm.IncomeTax.Rate;

                temp += itm.unit.Name + ", ";
                temp  = temp.Remove(temp.Length - 2);
            }

            var result = new VbRequestModel()
            {
                VbRequestDetail = listDetail,
                Active          = viewModel.Active,

                Id                  = viewModel.Id,
                Date                = (DateTimeOffset)viewModel.Date,
                DateEstimate        = (DateTimeOffset)viewModel.DateEstimate,
                UnitId              = viewModel.Unit.Id,
                UnitCode            = viewModel.Unit.Code,
                UnitName            = viewModel.Unit.Name,
                VBNo                = viewModel.VBNo,
                CreatedUtc          = viewModel.CreatedUtc,
                CreatedBy           = viewModel.CreatedBy,
                CreatedAgent        = viewModel.CreatedAgent,
                LastModifiedUtc     = DateTime.Now,
                LastModifiedAgent   = viewModel.LastModifiedAgent,
                LastModifiedBy      = viewModel.LastModifiedBy,
                VBMoney             = viewModel.VBMoney,
                Usage_Input         = viewModel.Usage,
                CurrencyId          = viewModel.Currency.Id,
                CurrencyCode        = viewModel.Currency.Code,
                CurrencyRate        = viewModel.Currency.Rate,
                CurrencySymbol      = viewModel.Currency.Symbol,
                CurrencyDescription = viewModel.Currency.Symbol,
                Amount              = Amount,
                UnitDivisionId      = viewModel.Division.Id,
                UnitDivisionName    = viewModel.Division.Name,
                IncomeTaxBy         = IncomeTaxBy,
                IncomeTaxId         = IncomeTaxId,
                IncomeTaxName       = IncomeTaxName,
                IncomeTaxRate       = IncomeTaxRate,
                UnitLoad            = temp,
                VBRequestCategory   = "PO",
                Apporve_Status      = false,
                Complete_Status     = false
            };

            return(result);
        }