public async Task <bool> Update(SalesMaster entity)
        {
            try
            {
                var get_single = await salesMasterRepository.Get(entity.Id);

                if (get_single == null)
                {
                    throw new ArgumentNullException("Order not found.");
                }
                get_single.Remarks   = entity.Remarks;
                get_single.UpdatedAt = entity.UpdatedAt;
                get_single.UpdatedBy = entity.UpdatedBy;

                var new_details     = new List <SalesDetails>();
                var deleted_details = new List <SalesDetails>();

                foreach (var item in entity.SalesDetails)
                {
                    var details_single = entity.SalesDetails.Where(_ => _.Id.Equals(item.Id)).FirstOrDefault();
                    if (details_single != null)
                    {
                        item.UnitPrice = details_single.UnitPrice;
                        item.Qty       = details_single.Qty;
                        item.ProductId = details_single.ProductId;
                        item.Amount    = item.UnitPrice * item.Qty;
                        item.UpdatedAt = entity.UpdatedAt;
                        item.UpdatedBy = entity.UpdatedBy;
                    }
                    else
                    {
                        item.Amount    = item.UnitPrice * item.Qty;
                        item.CreatedAt = entity.UpdatedAt ?? DateTime.Now;
                        item.CreatedBy = entity.UpdatedBy ?? get_single.CreatedBy;
                    }
                }
                var s = await salesMasterRepository.Add(entity);

                return(s);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }