public async Task <ApiResult <bool> > AddToCartAsync(AddCartRequestViewModel customerAddToCart, int userId) { bool iSFromDiffrentService = false; try { SqlParameter CartId = new SqlParameter("@CartId", System.Data.SqlDbType.Int) { Value = customerAddToCart.CartId.HasValue ? customerAddToCart.CartId.Value : 0 }; SqlParameter StoreId = new SqlParameter("@StoreId", System.Data.SqlDbType.Int) { Value = customerAddToCart.StoreId }; SqlParameter ServiceId = new SqlParameter("@ServiceId", System.Data.SqlDbType.Int) { Value = customerAddToCart.ServiceId }; SqlParameter StoreItemId = new SqlParameter("@StoreItemId", System.Data.SqlDbType.Int) { Value = customerAddToCart.StoreItemId }; SqlParameter IsCartRemoved = new SqlParameter("@IsCartRemoved", System.Data.SqlDbType.Bit) { Value = customerAddToCart.IsCartRemoved }; SqlParameter AddressId = new SqlParameter("@AddressId", System.Data.SqlDbType.Int) { Value = customerAddToCart.AddressId }; SqlParameter UserId = new SqlParameter("@UserId", System.Data.SqlDbType.Int) { Value = userId }; SqlParameter Quantity = new SqlParameter("@Quantity", System.Data.SqlDbType.Int) { Value = customerAddToCart.Quantity ?? (object)DBNull.Value }; var result = _context.ExecuteStoreProcedure("dbo.usp_AddCart", CartId, StoreId, ServiceId, StoreItemId, Quantity, IsCartRemoved, AddressId, UserId); if (result.Tables.Count > 0 && result.Tables[0].Rows.Count > 0) { foreach (System.Data.DataRow row in result.Tables[0].Rows) { if (((row["ErrorMessage"] != DBNull.Value) ? Convert.ToString(row["ErrorMessage"]) : string.Empty) == "1") { iSFromDiffrentService = true; } } } return(new ApiResult <bool>(new ApiResultCode(ApiResultType.Success), iSFromDiffrentService)); } catch (Exception ex) { ErrorTrace.Logger(LogArea.ApplicationTier, ex); } return(new ApiResult <bool>(new ApiResultCode(ApiResultType.Success), false)); }
public async Task <IActionResult> DeleteServiceCart([FromForm] AddCartRequestViewModel model) { int?userId = 0; var userStrId = this.User.FindFirstValue(ClaimTypes.Name); if (!string.IsNullOrWhiteSpace(userStrId)) { userId = Convert.ToInt32(userStrId); } var response = new SingleResponse <CartCountResponseViewModel>(); try { var isDataRemoved = await _unit.ICart.CartServiceRemove(model.CartId.Value); if (isDataRemoved.UserObject) { var dataResult = (await _unit.ICart.CartCountAndPrice(userId: userId.Value)); response.Data = dataResult.HasSuccess ? dataResult.UserObject : null; response.Message = "Cart added"; response.Status = true; return(response.ToHttpResponse()); } else { response.Data = null; response.Message = "no cart added"; response.Status = true; return(response.ToHttpResponse()); } } catch (Exception ex) { response.Status = false; response.Message = "There was an internal error, please contact to technical support."; ErrorTrace.Logger(LogArea.ApplicationTier, ex); } return(response.ToHttpResponse()); }