public ActionResult Create(string saleId)
        {
            try
            {
                SaleReturnViewModel saleReturnVm = new SaleReturnViewModel();
                List <SaleReturnDetailViewModel>    saleReturnDetails = new List <SaleReturnDetailViewModel>();
                SuperShopSaleViewModel              saleVm            = Mapper.Map <SuperShopSaleViewModel>(_saleService.GetById(saleId));
                List <SuperShopSaleDetailViewModel> saleDetails       = Mapper.Map <List <SuperShopSaleDetailViewModel> >(_saleService.GetAllSaleDetailbyMasterId(saleId).ToList());
                if (saleDetails.Any())
                {
                    foreach (var saleDetail in saleDetails)
                    {
                        SaleReturnDetailViewModel saleReturnDetail = new SaleReturnDetailViewModel
                        {
                            Select            = true,
                            SaleId            = saleDetail.SaleId,
                            SaleDetailId      = saleDetail.Id,
                            ProductId         = saleDetail.ProductId,
                            ProductCode       = saleDetail.ProductCode,
                            ProductName       = saleDetail.ProductName,
                            SoldQuantity      = saleDetail.Quantity,
                            SoldAmount        = saleDetail.TotalAmount,
                            UOMId             = saleDetail.UOMId,
                            UOMName           = saleDetail.UOMName,
                            RemainingQuantity = saleDetail.Quantity - _saleReturnService.GetSumOfAlreadyReturnQty(saleDetail.SaleId, saleDetail.ProductId),
                            SalePrice         = saleDetail.SalePrice,
                            ReturnUnitPrice   = saleDetail.SalePrice,
                            CompanyId         = saleDetail.CompanyId,
                            BranchId          = saleDetail.BranchId,
                            SupplierId        = saleDetail.SupplierId,
                        };

                        saleReturnDetail.ReturnQuantity = saleReturnDetail.RemainingQuantity;
                        saleReturnDetail.ReturnAmount   = saleDetail.SalePrice * saleReturnDetail.ReturnQuantity;
                        saleReturnDetails.Add(saleReturnDetail);
                    }
                }
                saleReturnVm.SelectAll         = true;
                saleReturnVm.SaleId            = saleVm.Id;
                saleReturnVm.SaleDate          = saleVm.SaleDate;
                saleReturnVm.CustomerId        = saleVm.CustomerId;
                saleReturnVm.CustomerName      = saleVm.CustomerName;
                saleReturnVm.CompanyId         = saleVm.CompanyId;
                saleReturnVm.BranchId          = saleVm.BranchId;
                saleReturnVm.SalesReturnDate   = DateTime.Now;
                saleReturnVm.SaleReturnDetails = new List <SaleReturnDetailViewModel>();
                saleReturnVm.SaleReturnDetails.AddRange(saleReturnDetails);
                return(View(saleReturnVm));
            }
            catch (Exception ex)
            {
                return(JavaScript($"ShowResult('{ex.Message}','failure')"));
            }
        }
 public JavaScriptResult Create(SaleReturnViewModel saleReturnvm, string Type)
 {
     try
     {
         if (saleReturnvm.SaleReturnDetails.Any(x => x.Select && x.ReturnQuantity > 0))
         {
             SaleReturn saleReturn = Mapper.Map <SaleReturn>(saleReturnvm);
             List <SaleReturnDetail> saleReturnDetailList = Mapper.Map <List <SaleReturnDetail> >(saleReturnvm.SaleReturnDetails.Where(x => x.Select && x.ReturnQuantity > 0));
             saleReturn.SaleReturnDetails = new List <SaleReturnDetail>();
             foreach (var item in saleReturnDetailList)
             {
                 saleReturn.SaleReturnDetails.Add(item);
             }
             _saleReturnService.Add(saleReturn, Type);
             return(JavaScript($"ShowResult('{"Data saved successfully."}','{"success"}','{"redirect"}','{"/SuperShopSaleReturn/Index?companyId=" + saleReturn.CompanyId + "&&branchId=" + saleReturn.BranchId}')"));
         }
         return(JavaScript($"ShowResult('{"Enter quantity!"}','{"failure"}')"));
     }
     catch (Exception ex)
     {
         return(JavaScript($"ShowResult('{ex.Message}','failure')"));
     }
 }