public async Task <bool> DeleteSupplierAuthorizationAsync(cor_supplierauthorization model)
        {
            var item = await _dataContext.cor_supplierauthorization.FindAsync(model.SupplierAuthorizationId);

            item.Deleted = true;
            _dataContext.Entry(item).CurrentValues.SetValues(model);
            return(await _dataContext.SaveChangesAsync() > 0);
        }
        public async Task <bool> UpdateSupplierAuthorizationAsync(cor_supplierauthorization model)
        {
            if (model.SupplierAuthorizationId > 0)
            {
                var itemTUpdate = await _dataContext.cor_supplierauthorization.FindAsync(model.SupplierAuthorizationId);

                if (itemTUpdate != null)
                {
                    model.Deleted = false;
                    model.Active  = true;
                    _dataContext.Entry(itemTUpdate).CurrentValues.SetValues(model);
                }
            }
            else
            {
                await _dataContext.AddAsync(model);
            }
            return(await _dataContext.SaveChangesAsync() > 0);
        }
        public async Task <SupplierAuthorizationRegRespObj> Handle(UpdateSupplierAuthorizationCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var apiResponse = new SupplierAuthorizationRegRespObj {
                    Status = new APIResponseStatus {
                        IsSuccessful = false, Message = new APIResponseMessage()
                    }
                };
                var byteArray = new byte[0];
                if (request.SupplierAuthorizationId > 0)
                {
                    var item = await _supRepo.GetSupplierAuthorizationAsync(request.SupplierAuthorizationId);

                    if (item != null)
                    {
                        byteArray = item.Signature;
                    }
                }
                var signature = _acceossor.HttpContext.Request.Form.Files;
                if (signature != null)
                {
                    foreach (var fileBit in signature)
                    {
                        if (fileBit.Length > 0)
                        {
                            using (var ms = new MemoryStream())
                            {
                                await fileBit.CopyToAsync(ms);

                                byteArray = ms.ToArray();
                            }
                        }
                    }
                }

                cor_supplierauthorization supAuth = new cor_supplierauthorization();
                supAuth.CreatedOn = request.SupplierAuthorizationId > 0? (DateTime?)null : DateTime.Now;
                supAuth.Signature = byteArray;
                supAuth.Address   = request.Address;
                supAuth.Email     = request.Email;
                supAuth.Name      = request.Name;
                supAuth.PhoneNo   = request.PhoneNo;
                supAuth.SupplierAuthorizationId = request.SupplierAuthorizationId;
                supAuth.SupplierId = request.SupplierId;

                await _supRepo.UpdateSupplierAuthorizationAsync(supAuth);

                apiResponse.SupplierAuthorizationId        = supAuth.SupplierAuthorizationId;
                apiResponse.Status.IsSuccessful            = true;
                apiResponse.Status.Message.FriendlyMessage = "Successfully created";
                return(apiResponse);
            }
            catch (Exception ex)
            {
                #region Log error to file
                var errorCode = ErrorID.Generate(4);
                _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}");
                return(new SupplierAuthorizationRegRespObj
                {
                    Status = new APIResponseStatus
                    {
                        IsSuccessful = false,
                        Message = new APIResponseMessage
                        {
                            FriendlyMessage = "Error occured!! Unable to process request",
                            MessageId = errorCode,
                            TechnicalMessage = $"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"
                        }
                    }
                });

                #endregion
            }
        }